一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第1天,点击查看活动详情
RocketMQ 集群介绍
RocketMQ 集群部署方法有四种:
- 单主模式
- 多
master模式 - 多
master多slave模式异步复制 - 多
master多slave模式同步复制
消息模型中一个完整的集群由 NameServer 集群,Broker 集群,Producer ,Consumer 集群。
RocketMQ 中,一个 NameServer 集群 可以管理多个 Broker 集群,Broker 集群由多复制组构成, 多个 broker 复制足通过指定相同的 clusterName 参数,构成一个完整的 Broker 集群
Broker 集群的4种方式
单主模式
集群只有一个 Brocker 复制组,且只包含一个 master节点,这种防暑部署风险大,一旦 Broker 重启或者宕机会导致整个服务不可用。如果
多 Master 模式
集群中只有多个 broker 复制组,且都只有 Master 节点,没有 slave 节点,例如 2 到 3 个 master
优点:配置简单,单个 Master 宕机或者重启对应用无影响,消息不丢失,性能最高。
缺点:单台机器宕机,这台机器上未被消费的消息在机器恢复前不可被订阅。
多 Master 多 slave 模式异步复制
集群有多个 Broker 复制组,每个复制组都有 master 节点,也都有 Slave 节点,每个 master 配置一个 slave, HA 采用异步复制方式,主备有短暂消息延迟,毫秒级别的
优点:即使磁盘复制组,消息丢失的也很少,master 宕机,消费者,还可以从 slave 消费消息。
缺点: master 宕机,磁盘损害,会有少量消息丢失,因为主从同步是异步的,master 还没有同步到slave 宕机了,就会有少量消息丢失。
多 Master 多 Slave 模式,同步复制
和上面的方式不一样的是,HA 采用的是同步复制的方式,生产者发送消息,只有主备都成功了,才向应用返回成功。
优点:无单点问题。 master 宕机下,消息无延迟,服务可用性和数据可用性都很高。 缺点:性能比异步同步差一点。发送单个消息的延迟会略高。
总结一下
RocketMQ 集群有4种方式, 一个 单节点NameServer集群可以管理四种 Broker 集群。实际生产过程中,NameServer集群和 Broker 集群一般是部署在不同机器上。