版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
1.单master模式:
优点:本地开发测试,配置简单,同步刷盘消息一条都不会丢失;
缺点:不可靠,如果宕机,会导致服务不可用;
2.主从(异步,同步双写)模式:
优点:同步双写消息不丢失,异步复制存在少量丢失,主节点宕机,从节点可以对外提供消息的消费,但是不支持写入;
缺点:主备有短暂的消息延迟,毫秒级,目前不支持自动切换,需要脚本或者其他程序进行检测,然后进行停止broker,重启让broker成为主节点;
3.双主模式:
优点:配置简单,可以靠配置RAID磁盘阵列保证消息可靠,异步刷盘丢失少量消息;
缺点:master机器宕机期间,未被消费的消息在机器恢复之前不可消费,实时性收到影响;
4.双主双从,多主多从模式(异步复制):
优点:磁盘损坏,消息丢失的非常少,消息实时性不会收到影响,master宕机后,消费者任然可以从slave消费;
缺点:主备有短暂消息延迟,毫秒级,如果master宕机,磁盘损坏情况,会丢失少量消息;
5.双主双从,多主多从模式(同步双写):
优点:同步双写,主备都写成功,向应用返回成功,服务可用性与数据可用性都非常高;
缺点:性能比异步复制模式略低,主机宕机后,备机不能字段切换为主机;
推荐:2 ,4,5
消息刷盘策略
Master-Slave节点里面:
异步复制:可能导致数据丢失,但是性能高;
同步复制:数据安全性高,性能略低;
最终推荐:同步双写(即M-S同步复制),异步刷盘。