栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

RocketMQ学习四-集群部署

RocketMQ学习四-集群部署

1 集群部署理论 1.1 数据复制与刷盘策略

1.1.1 复制策略

复制策略是broker的master与slave间的数据同步方式,分为同步复制和异步复制

  • 同步复制:消息写入master后,master会等slave同步数据成功后才向procedure返回ACK
  • 异步复制:消息写入master后,master会直接向procedure返回ACK,无需等待slave同步完成
1.1.2 刷盘策略

刷盘策略是broker中的消息落盘方式,即消息发送到broker内存后消息持久化到磁盘的方式,分为同步刷盘和异步刷盘

  • 同步刷盘:消息持久化到broker磁盘后才算消息写入成功
  • 异步刷盘:消息写到broker内存(PageCache)后就算写入成功,无需等待持久化到磁盘。PageCache达到一定的量后会自动落盘。
1.2 Broker集群模式 1.2.1 单Master

只有一个Broker,通常在测试环境使用,可靠性较低

1.2.2 多Master

Broker集群由多个Master组成,不存在Slave。同一个Topic的各个Queue会平均分布在各个Master节点上

  • 优点
    配置简单,单个Master宕机或重启对应用无影响,在磁盘配置为RAID10的时候,即使宕机,由于RAID10磁盘非常可靠,消息也不会丢(异步刷盘可能会丢失少量消息,同步刷盘不会丢),性能最高。如果磁盘不是RAID10,则会丢失大量消息
  • 缺点
    单台机器宕机期间,这台机器上未消费的消息不可订阅,消息实时性会受影响
1.2.3 多Master多Slave-异步复制

Broker集群由多个Master组成,每个Master又配置多个Slave(磁盘配置为RAID10的时候一般一个Slave即可)。Master和Slave关系是主备关系,即Master负责处理消息的读写请求,Slave仅负责消息备份与宕机后的角色切换
该模式的最大特点是master宕机后slave可以自动切换为master,不过由于slave从master同步具有短暂的延迟(毫秒级),所以当master宕机后异步复制可能存在少量消息丢失的问题

1.2.4 多Master多Slave-同步双写

和异步复制相比,优点是消息可靠性较高,不存在消息丢失的情况。缺点是单个消息RT略高,整体性能要略低(约10%)
另外,该模式有一个最大的问题,就是master宕机后slave不会自动切换到master

1.2.5 最佳实践

一般采用多Master多Slave-异步复制模式,同时为master配置RAID10磁盘阵列,配置一个slave。既利用了RAID10磁盘阵列的高效,安全,又解决了可能影响订阅的问题

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/652378.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号