RocketMQ 的集群部署方式有哪些?各自的特点是什么?

RocketMQ的集群部署方式主要有三种:

  1. 独立部署:每个Broker独立部署,没有主从关系,适用于测试环境或小规模生产环境。
    • 特点:部署简单,可靠性较低。
  2. 主从部署:Broker分为Master与Slave,Master与Slave之间为主从复制关系,Master下线时Slave会提升为Master。
    • 特点:部署较简单,可靠性较高,适用于大多数生产环境。
  3. 多Master部署:一个集群中存在多个Master,互相没有主从复制关系,各自都可以提供服务。
    • 特点:部署较复杂,可靠性最高,适用于特殊的高可用生产环境。

三种部署方式对应配置主要在broker.conf文件中:

  1. 独立部署:无需特殊配置。
  2. 主从部署:
    • brokerRole = ASYNC_MASTER
    • brokerId = 0 //Master
    • brokerId = 1 //Slave
  3. 多Master部署:
    • brokerRole = ASYNC_MASTER
    • brokerId = 0 //Master
    • brokerId = 1 //Master
    • 需要手动指定不同Master的namesrvAddr