消息中间件是指在分布式系统中完成消息的发送和接收的基础软件。
消息中间件也可以称消息队列(Message Queue / MQ),互联网场景中经常使用消息中间件进行消息路由、订阅发布、异步处理等操作,来缓解系统的压力。
引入消息队列主要是为了解决如下问题的:
创新互联,为您提供重庆网站建设公司、重庆网站制作、网站营销推广、网站开发设计,对服务成都汽车玻璃修复等多个行业拥有丰富的网站建设及推广经验。创新互联网站建设公司成立于2013年,提供专业网站制作报价服务,我们深知市场的竞争激烈,认真对待每位客户,为客户提供赏心悦目的作品。 与客户共同发展进步,是我们永远的责任!
既然本身就是为了解决大流量场面而设计的,那他自身的稳定性、健壮性就显的无比重要,下面我们来看看消息队列怎么去保证可用性的。
分析高可用特性前先复习下消息队列的基本组件,无论是哪一种类型的消息队列,基本都包含以下构成:
上图中以kafka为例子,这是典型的集群模式,Kafka通过Zookeeper管理集群配置,选举leader,以及在Consumer Group发生变化时进行rebalance。Producer使用push模式将消息发布到broker,Consumer使用pull模式从broker订阅并消费消息。
了解了一个消息队列的构成之后,我们来看看这种结构是怎么保障高可用性的。
首先,高可用是指系统的出错概率和无故障运行时长,从消息队列角度出发,至少要保证一下几点:
以为RocketMQ为例,集群模式如下:
Producer 与 NameServer集群中的其中一个节点(随机或者RR选择)建立长连接,定期从 NameServer 获取 Topic 路由信息,既可以从 Broker Master 订阅消息,也可以从 Broker Slave 订阅消息。
Kafka集群中包含如下组成部分:
Kafka通过Zookeeper管理集群配置,选举leader,以及在Consumer Group发生变化时进行rebalance。
Producer使用push模式将消息发布到broker,Consumer使用pull模式从broker订阅并消费消息。
当前文章:一篇文章带你了解高可用架构分析
网页网址:http://www.gawzjz.com/qtweb/news35/192385.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联