RocketMQ 的工作流程是怎样的?

参考答案

RocketMQ 的工作流程:

1   启动 NameServer

NameServer启动后监听端口,等待Broker、Producer以及Consumer连上来

2   启动 Broker

启动之后,会跟所有的 NameServer 建立并保持一个长连接,定时发送心跳包。心跳包中包含当前Broker 信息(ip、port等)、Topic 信息、以及 Borker 与 Topic 的映射关系。

3   创建Topic

创建时,需要指定该 Topic 要存储在哪些 Broker 上,也可以在发送消息时自动创建 Topic。

4   Producer发送消息

启动时,先跟 NameServer 集群中的其中一台建立长连接,并从 NameServer 中获取当前发送的Topic 所在的 Broker 。

然后,从队列列表中轮询选择一个队列,与队列所在的 Broker 建立长连接,进行消息的发送。

5   Consumer 消费消息

跟其中一台 NameServer 建立长连接,获取当前订阅 Topic 存在哪些 Broker 上,然后直接跟Broker 建立连接通道,进行消息的消费。

 

以上,是消息队列 RocketMQ 面试题【RocketMQ 的工作流程是怎样的?】的参考答案。

输出,是最好的学习方法

欢迎在评论区留下你的问题、笔记或知识点补充~

—end—

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧