RocketMQ的Broker集群搭建
Master和slaver类似Redis和MySql的主从,Slaver只有读的权限,没有写的权限。
RocketMQ提供了多种的集群搭建,具体如下:
1.单个 Master
这种方式风险较大,一旦 Broker 重启或者宕机时,会导致整个服务不可用,不建议线上环境使用
2. 多 Master 模式
一个集群无 Slave,全是 Master,例如 2 个 Master 或者 3 个 Master
优点:配置简单,单个 Master 宕机或重启维护对应用无影响,在磁盘配置为 RAID10 时,即使机器宕机不可恢复情况下,由于 RAID10 磁盘非常可靠,消息也不会丢(异步刷盘丢失少量消息,同步刷盘一条不丢)。性能最高。
缺点:单台机器宕机期间,这台机器上未被消费的消息在机器恢复之前不可订阅,消息实时性会受到影响。
类似关系图如下:
因为MQ会进行本地IO刷盘的操作,所以一台MQ如果是进行同步刷盘将不会丢失消息,异步刷盘可能丢失少量数据。
且因为宕机的原因,在Master未启动时,该MQ存储的消息都无法被消费,实时性受到影响。
3. 多 Master 多 Slave 模式,异步复制
每个 Master 配置一个 Slave,有多对 Master-Slave,HA 采用异步复制方式,主备有短暂消息延迟,毫秒级。
优点:即使磁盘损坏,消息丢失的非常少,且消息实时性不会受影响,因为 Master 宕机后,消费者仍然可以从 Slave 消费,此过程对应用透明。不需要人工干预。性能同多 Master 模式几乎一样。
缺点:Master

最低0.47元/天 解锁文章
1739

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



