RocketMQ的底层实现原理
RocketMQ由NameServer集群、Producer集群、Consumer集群、Broker集群组成,消息生产和消费的大致原理如下:
- Broker在启动的时候向所有的NameServer注册,并保持长连接,每30s发送一次心跳
- Producer在发送消息的时候从NameServer获取Broker服务器地址,根据负载均衡算法选择一台服务器来发送消息
- Conusmer消费消息的时候同样从NameServer获取Broker地址,然后主动拉取消息来消费
额外补充(可以不看)
RocketMQ消息队列的整体部署架构
RocketMQ消息队列集群中的几个角色:
-
NameServer:命名发现服务,更新和路由发现broker;其在RocketMQ中起着中转承接的作用,是一个无状态的服务,多个NameServer之间不通信。
-
Broker-Master:broker 消息主机服务器。
-
Broker-Slave:broker 消息从机服务器。
-
Producer:消息生产者。
-
Consumer:消息消费者。