rocketmq多种集群模式
2021-06-22 本文已影响0人
Chaweys
一、RocketMQ4.X多种集群模式:
1、单节点 :
优点:本地开发测试,配置简单,同步刷盘消息一条都不会丢
缺点:不可靠,如果宕机,会导致服务不可用
2、主从(异步、同步双写) :
优点:同步双写消息不丢失, 异步复制存在少量丢失 ,主节点宕机,从节点可以对外提供消息的消费,但是不支持写入
缺点:主备有短暂消息延迟,毫秒级,目前不支持自动切换,需要脚本或者其他程序进行检测然后进行停止broker,
重启让从节点成为主节点
3、双主:
优点:配置简单, 可以靠配置RAID磁盘阵列保证消息可靠,异步刷盘丢失少量消息
缺点: master机器宕机期间,未被消费的消息在机器恢复之前不可消费,实时性会受到影响
4、双主双从,多主多从模式(异步复制)
优点:磁盘损坏,消息丢失的非常少,消息实时性不会受影响,Master 宕机后,消费者仍然可以从Slave消费
缺点:主备有短暂消息延迟,毫秒级,如果Master宕机,磁盘损坏情况,会丢失少量消息
5、双主双从,多主多从模式(同步双写)
优点:同步双写方式,主备都写成功,向应用才返回成功,服务可用性与数据可用性都非常高
缺点:性能比异步复制模式略低,主宕机后,备机不能自动切换为主机
【注】:推荐方案2、4、5
二、消息可靠性之同步、异步刷盘:
内存+磁盘
什么是异步刷盘?
数据写入内存后即返回写入成功,但此时并未实时写入数据盘。
数据可能丢失,性能高。
什么是同步刷盘?
数据写入内存后并未实时写入数据盘,写入数据盘之后才返回写入成功。
数据安全性高。
选择:各有优缺点,看业务需要
三、消息可靠性之同步、异步复制:
Master - Slave节点里面
异步复制: 数据可能丢失,性能高
同步复制: 数据安全性高,性能低一点
最终推荐这种方式:同步双写(即M-S同步复制),异步刷盘