RockerMQ集群搭建
1. 角色介绍
- Producer:消息的发送者(生产消息)
- Consumer:消息的接收者(获取消息)
- Broker:暂存消息和传输消息
- NameServer:管理Broker
- Topic:消息的话题,用于区分消息的种类
- Message Queue:相当于Topic的分区,用于并行发送和接收消息
2. 集群搭建方式
1. 集群特点
- NameServer几乎是一个无状态节点,可以集群部署,节点之间无任何信息同步
- Broker相对复杂些,分为Master和Slave,一个Master可以对应多个Slave,但是一个Slave只能对应一个Master,他们之间的关系通过制定相同的BrokerName,不同的BrokerId来定义。每个Broker与NameServer集群中的节点建立长连接,定时注册Topic信息到所有的NameServer
- Producer与NameServer集群中的其中一个节点(随机选择)建立长连接,定期从NameServer取Topic路由信息,并向提供Topic服务的Master建立长连接,且定时向Master发送心跳。Producer完全无状态,可集群部署
- Consumer与NameServer集群中的其中一个节点(随机选择)建立长连接,定期从NameServer取Topic路由信息,并向提供Topic服务的Master、Slave建立长连接,且定时向Master、Slave发送心跳。Consumer既可以从Master订阅消息,也可以从Slave订阅消息,订阅规则由Broker配置决定。
2. 集群模式
- 单Master(单机):风险较大,一旦Broker重启或