Advertisement

RocketMQ(9) 是 RocketMQ 工作原理中的消息生产

阅读量:

分布式消息队列RocketMQ

3.1)消息的生产

3.1.1)消息的生产过程

Producer能够发送消息至某Broker中的某Queue中,在这一过程中

在Producer发送消息之前(会),会首先向NameServer发起请求(以查询)所需的消息Topic所需的路由信息。

NameServer返回该Topic的路由表及Broker列表

Producer遵循其代码中配置好的Queue选择策略,并通过分析该列表中的各个队列配置信息来确定具体的队列以实现后续消息的存储。

Produer对消息做一些特殊处理,例如,消息本身超过4M,则会对其进行压缩

Producer向选中的Queue所在的Broker发起RPC请求,并将消息传递至选中的Queue

路由表:本质上相当于一个映射(Map)关系,在此映射中键是主题名称(Topic),而值域则是多个队列数据(QueueData)实例的集合。需要注意的是,并非每个队列都有独立的队列数据存储(即不是每个队列都单独拥有对应的队列数据),而是由主题相关的各个队列共享同一个队列数据(QueueData)。换言之,在涉及该主题的所有队列中只有一个对应的队列数据实例。

队列数据列表(Broker列表):其实也是一个映射关系,在此映射中键

全部评论 (0)

还没有任何评论哟~