RocketMQ的三种自带集群模式为:
(1)双MASTER : 优点是配置简单、快捷,但是一旦MASTER机器宕机或出现问题就无法提供服务;
(2)双MASTER双SLAVE同步双写: 比异步复制的性能差10%,但能保证数据不丢失;
(3)双MASTER双SLAVE 异步复制:性能最好,但是遇到突发情况会有少量数据丢失。

上图为双主双从集群原理图,其中Name Server是一个几乎无状态节点,可集群部署,节点之间无任何信息同步。
Broker分为Master与Slave,一个Master可以对应多个Slave,但是一个Slave只能对应一个Master,Master与Slave的对应关系通过指定相同的Broker Name,不同的Broker Id来定义,BrokerId为0表示Master,非0表示Slave。双主双从集群中有两个Master,每个Master对应一个Slave。
每个Broker与Name Server集群中的所有节点建立长连接,定时(每隔30s)注册Topic信息到所有Name Server。Name Server定时(每隔10s)扫描所有存活Broker的连接,如果Name Server超过2分钟没有收到心跳,则Name Server断开与Broker的链接。
Producer与Name Server集群中的其中一个节点(随机选择)建立长连接,定期从Name Server取Topic路由信息,并向提供Topic服务的Master建立长连接,且定时向Master发送心跳。Producer完全无状态,可集群部署。
Producer每隔30s(由ClientConfig的pollNameServerInterval)从Name server获取所有topic队列的最新情况,这意味着如果Broker不可用,Producer最多30s能够感知

最低0.47元/天 解锁文章
8182

被折叠的 条评论
为什么被折叠?



