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—

👇阅读作者更多技术干货👇

阿里架构 |双11秒杀 |分布式架构 |负载均衡 |单点登录 |微服务 |云原生 |高并发 |架构师

以上

关注作者「mikechen」公众号,获取更多技术干货!

后台回复架构,即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

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