当前位置: 首页 > 网络应用技术

RocketMQ源代码分析的消息生产商(1)

时间:2023-03-08 01:00:28 网络应用技术

  RockEtMQ生产商发送消息的方式是:同步发送,异步发送,一个路发送。

  让我们看一下生产者发送的消息的类结构:org.apache.rocketmq.common.message.message.message

  消息类中的成员变量如下:

  遵循属性报价的地方

  您可以看到属性存储了很多属性

  消息由消息发送:org.ache.rocketmq.client.producer.defaultmqproducer

  此类封装了发送消息的各种方法,包括发送同步消息,异步消息等。

  DefaultMQProducer继承客户端并实现MQProducer界面

  查看生产者的示例,在发送消息之前将立即实例化DefaultMqproducer对象,然后将某些属性(例如namesrv的服务地址),压缩消息主体的阈值等。

  设置这些属性后,将调用start()方法来启动消息生产者

  DefaultMQProder内部包装包装有实现类DefaultMqproducerimpl。所有操作都是直接调用此对象的方法

  当defaultmqproducer构造函数实例化时,将实例化DefaultMqproDucerImpl。

  因此,我们首先跟踪子类defaultmqproderimpl的start()方法

  开始方法

  因此,即使在同一过程中,示例名称是由PID+时间戳生成的,只要它是同时生成的实例

  获得的mqclientinstance将不相同

  本章讨论了消息生产者的属性参数,消息主体的结构以及生产者激活的近似过程。下一章将讨论消息发送的过程