目录
(1)背景引入
(2)先来思考一下消息中间件的可用性问题
(3)集群化部署 + 数据多副本冗余
(4)多副本同步复制强制要求
(5)多机器承载多副本强制要求
(6)架构原理与技术无关性
想要了解更多Java架构技术的,可以关注我一下,我后续也会整理更多关于架构技术这一块的知识点分享出来,里面会分享一些:spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化,并发编程这些成为架构师必备的知识体系.
(1)背景引入
这篇文章,我们来聊一下消息中间件高可用架构的一些原理。
对于一个合格的高级Java工程师而言,你肯定会碰到在系统里用到MQ的场景,那么这个时候你需要基于你的业务场景和需求,考虑在使用MQ的时候可能遇到的一些技术问题。
接着,你必须得针对这些技术问题设计一套完整的技术方案。
你需要从消息的订阅模式、消息的生产到消费全链路不丢数据、消息中间件本身如何保证高可用,等各个角度切入,来考虑好你的系统和MQ对接之后的完整技术方案。
所以,本文就来聊聊消息中间件高可用的架构原理。
(2)先来思考一下消息中间件的可用性问题
咱们先抛开各种具体的技术,就来思考一下,啥是MQ的可用性问题?
大家看看下面的图,其实道理很简单,假如你的MQ就部署在一台机器上,那么正常情况下,生产者都会发送消息到MQ去,然后让消费者获取到。
但是万一天有不测风云ÿ