RocketMQ集群模式架构分析

  1. 单节点 :

  2. 优点:本地开发测试,配置简单,同步刷盘消息一条都不会丢

    缺点:不可靠,如果宕机,会导致服务不可用

  3. 主从(异步、同步双写) :

    优点:同步双写消息不丢失, 异步复制存在少量丢失 ,主节点宕机,从节点可以对外提供消息的消费,但是不支持写入

    缺点:主备有短暂消息延迟,毫秒级,目前不支持自动切换,需要脚本或者其他程序进行检测然后进行停止broker,重启让从节点成为主节点

  4. 双主:

    优点:配置简单, 可以靠配置RAID磁盘阵列保证消息可靠,异步刷盘丢失少量消息

    缺点: master机器宕机期间,未被消费的消息在机器恢复之前不可消费,实时性会受到影响

  5. 双主双从,多主多从模式(异步复制)

    优点:磁盘损坏,消息丢失的非常少,消息实时性不会受影响,Master 宕机后,消费者仍然可以从Slave消费

    缺点:主备有短暂消息延迟,毫秒级,如果Master宕机,磁盘损坏情况,会丢失少量消息

  6. 双主双从,多主多从模式(同步双写)

    优点:同步双写方式,主备都写成功,向应用才返回成功,服务可用性与数据可用性都非常高

    缺点:性能比异步复制模式略低,主宕机后,备机不能自动切换为主机

推荐方案2、4、5

官方介绍的架构图:

消息可靠性之同步、异步刷盘

  • 内存+磁盘
  • 什么是异步刷盘(数据可能丢失,性能高):
  • 什么是同步刷盘:数据安全性高
  • 选择:各有优缺点,看业务需要

消息可靠性之同步、异步复制

  • Master - Slave节点里面
  • 异步复制 : 数据可能丢失,性能高
  • 同步复制: 数据安全性高,性能低一点
  • 最终推荐这种方式:同步双写(即M-S同步复制),异步刷盘

猜你喜欢

转载自blog.csdn.net/qq_41023026/article/details/89763878