RabbitMQ 高可用架构总结
🍁 作者:知识浅谈,CSDN 签约讲师,CSDN 博客专家,华为云云享专家,阿里云星级博主
📌 擅长领域:全栈工程师、爬虫、ACM 算法
💒 公众号:知识浅谈
🔥 联系方式 vx:zsqtcc
🤞RabbitMQ 高可用架构总结🤞
正菜来了⛳⛳⛳
🎈主备模式
一个干活,一个闲着,干活的累死了,闲着的爬起来自己干活。不推荐使用
🎈镜像模式
多主强一制模式,镜像间完成同步后才会向应用返回处理结果,推荐应用模式。
🎈远程模式
远程模式可以实现双活的一种模式,简称 shovel 模式,所谓的 shovel 就是把消息进行不同数据中心的复制工作,可以跨地域的让两个 MQ 集群互联,远距离通信和复制。
在使用了 shovel 插件后,模型变成了近端同步确认,远端异步确认的方式,大大提高了订单确认速度,并且还能保证可靠性。
在使用了 shov!插件后,模型变成了近端同步确认,远端异步确认的方式,大大提高了订单确认速度,并且还能保证可靠性。
🎈多活模式
实现异地数据复制的主流模式,因为 shov!模式配置比较复杂,所以一般来说,实现异地集群的都是采用这种双活或者多活模型来实现的。这种模式需要依赖 rabbitMQ 的 federation 插件,可以实现持续的,可靠的 AMQP 数据通信,多活模式在实际配置与应用非常的简单。
rabbitMQ 部署架构采用双中心模式(多中心),那么在两套(或多套)数据中心各部署一套 rabbitMQ 集群,各中心的 rabbitMQ 服务除了需要为业务提供正常的消息服务外,中心之间还需要实现部分队列消息共享。
📍如何实现自动故障转移?
RabbitMQ 基于 TCP 通信(四层),因此 Nginx 是不合适的(也可以考虑 1.9.0 版本后的-with-stream 模块),适合的选型有 HaProxy、LVS、F5、云服务 SLB。
📍如何摆脱单点故障让客户端可靠接入?
实用付费的阿里云节点
使用免费的 HaProxy
出现故障之后转移:
🍚总结
以上就是 RabbitMQ 高可用架构总结,希望有所帮助。
版权声明: 本文为 InfoQ 作者【知识浅谈】的原创文章。
原文链接:【http://xie.infoq.cn/article/0a7bc5a4eeab2fa8b62700e8e】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论