rocketMQ之十三 高可用性

泄露秘密 提交于 2020-01-11 03:18:56

高可用性机制在这里插入图片描述

  • RocketMQ分布式集群是通过Master和Slave的配合达到高可用的
  • Master和Slave的区别:Broker配置文件中,参数brokerId的值为0带包这个Broker是Master,大于0是Slave
  • Master角色的Broker支持读和写,Slave角色的Broker仅支持读

消费高可用

  • 有了主从结构之后,内部实现了自动切换,当Master不可用或繁忙的时候,会自动切换到Slave读,折旧达到了消费端的高可用

发送高可用

  • 创建Topic时,把Topic的多个Message Queue创建在多个Broker组上,当一个Broker的Master不可用后,其他组的Master任然可用,
  • 如果需要把Slave转换成Master,需要手动停止Slave角色的Broker,更改配置文件,用新的配置文件启动Broker在这里插入图片描述

消息主从复制

  • 如果一个Broker组有Master和Slave,消息需要从Master复制到Slave上,有同步和异步两个 复制方式
    • 同步复制:等Master和Slave都写入成功后才反馈给客户端成功状态
    • 异步复制:只要Master写入成功后就反馈给客户端成功的状态
  • 配置:通过Broker配置文件中的brokerRole参数进行设置
    • Master有ASYNC_MASTER,SYNC_MASTER两个配置
    • Slave只有SLAVE

总结在这里插入图片描述

  • 合理设置刷盘方式和主从复制方式,通常把Master和Slave都配置为ASYNC_FLUSH的刷盘方式.主从之间配置成SYNC_MASTER的复制方式
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!