rocket mq整体架构
1、体系结构
(1)名称服务器:主要 是存储broker及topic元数据,并且给producer,consumer提供查询broker信息
(2)broker :主要是存储消息,接收producer消息存储,consumer从这里取消息
(3)producer:主要是向broker发送由业务应用生成的消息
(4)consumer:主要是从broker拉取消息,将其输入业务应用
2、整体流程
(1)启动NameServer,起来后监听端口,等待producer,broker,consumer连接上来,相当一个路由控制中心。
(2)启动broker,跟所有的nameserver保持长连接,定时发送心跳包。心跳包中包含当前broker信息(ip+port)及存储所有的topic信息。注册成功后,nameserver中就有了topic与broker的映射关系。
(3)收发消息前,先创建topic。创建topic时,需要指定topic存储在哪个broker上。也可以在发送消息时自动 创建topic
(4)producer发送消息。启动时,先跟nameserver集群中的一台建立连接,并从nameserver中获取当前发送的topic存在哪个broker集群中,然后与对应的broker建立长连接,向broker发送消息。
(5) consumer接收消息。与producer类似,与nameserver集群中的一台建立长连接,并从nameserver中获取当前订阅的topic存在哪些broker上,然后与对应的broker建立长连接,开始消费消息。