首页 > 编程知识 正文

rocketmq可靠性怎么保证,rocketmq可靠性

时间:2023-05-04 16:00:58 阅读:206121 作者:3423

目录 推荐公众号前言正文怎么保证MQ的高可用性?什么是高可用MQ高可用建议

推荐公众号

有彩蛋哦!!!(或者公众号内点击网赚获取彩蛋)

前言

之前说了怎么搭建多master多slave模式,今天公司发布的时候忽然思考,现在公司的服务都是水平+垂直拆分,为什么这样做呢,保证高可用

正文 怎么保证MQ的高可用性? 什么是高可用

高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,
它通常是指,通过设计减少系统不能提供服务的时间。
假设系统一直能够提供服务,我们说系统的可用性是100%。
如果系统每运行100个时间单位,会有1个时间单位无法提供服务,我们说系统的可用性是99%。
现在公司的服务基本都是水平+垂直拆分,在降低服务间耦合度的同时增加了系统的高可用

MQ高可用 部署方式优点缺点备注单个Master模式一旦Broker重启或者宕机时,会导致整个服务不可用,不建议线上环境使用;多个Master模式配置简单,单个Master宕机或重启维护对应用无影响,在磁盘配置为RAID10时,即使机器宕机不可恢复情况下,由于RAID10磁盘非常可靠,消息也不会丢(异步刷盘丢失少量消息,同步刷盘一条不丢),性能最高。单台机器宕机期间,这台机器上未被消费的消息在机器恢复之前不可订阅,消息实时性会收到影响。当使用多master无slave的集群搭建方式时,master的brokerRole配置必须为ASYNC_MASTER。如果配置为SYNC_MASTER,则producer发送消息时,返回值的SendStatus会一直是SLAVE_NOT_AVAILABLE。多Master多Slave模式——异步复制即使磁盘损坏,消息丢失的非常少,但消息实时性不会受影响,因为Master宕机后,消费者仍然可以从Slave消费,此过程对应用透明,不需要人工干预,性能同多Master模式几乎一样。Master宕机,磁盘损坏情况,会丢失少量信息。多Master多Slave模式——同步双写数据与服务都无单点,Master宕机情况下,消息无延迟,服务可用性与数据可用性都非常高;性能比异步复制模式稍低,大约低10%左右,发送单个消息的RT会稍高,目前主宕机后,备机不能自动切换为主机,后续会支持自动切换功能。建议

由于公司数据对高可用要求比较高,采用多master,多slave模式–同步双写,虽然虽然会降低效率,增加运营成功,但是对于系统解耦和可用性来说是值得的。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。