# 1. 集群特点

  • NameServer: 是一个几乎无状态的节点,可集群部署,节点之间无任何信息同步.

  • Broker: 部署相对复杂,Broker分为Master和Slave.

    一个Master可以对应多个Slave,但是一个Slave只能对应一个Master.

    Master与Slave的对应关系可以通过指定相同的BrokerName,不同的BrokerId来定义.BrokerId为0表示Master,非0表示Slave.Master也可以部署多个.

    每个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配置决定.