RocketMQ 高可用性|学习笔记

简介: 快速学习 RocketMQ 高可用性

开发者学堂课程【RocketMQ 知识精讲与项目实战(第三阶段)RocketMQ 高可用性】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/704/detail/12451


RocketMQ 高可用性

 

内容介绍:

一、高可用性机制

二、消息发送高可用

三、总结

 

一、高可用性机制

image.png想要研究 rocketMQ 高可用性,需要从它的组成部分来说起,对于rocket 集群来讲,他分成四个组件。首先是 nameServer ,在搭建双组双存的结构集群架构中, nameServer 集群保证其自身的可用,图中的 broker 也是集群搭建,通过集群的形式保证 broker 部分的高可用性,nameserver 是无状态的,如果想要动态的给 nameserver 添加一个节点,不需要启动整个集群的服务, broker 会扫描到当前新增的 nameserver ,上报其信息。对于 broker 来说,集群分为 master 和 slave ,master 是主节点那么 slave 就是从节点。对于主节点来讲,它负责读和写,从节点负责读。那么对于 broker 当中的 master 和 slave 如何进行标识?首先它们是同一组,则同一个 master 可能会有多个 slave ,它们都会有相同的 broker 名称,但是 master 主节点 id 为0,而 slave id 大于0。

由图可知,发现最左边的是生产者,跟 broker 相连,没有与 slave 相连,证明 slave 不支持写的操作。只负责读,都可以从 slave 和 master 进行读。如何保证消息的消费的高可用?在 consumer 的配置文件当中,不用配置到底是从 slave 读还是 master 读,默认的会从 master 进行读取。当 master 不可用或者比较繁忙的时候, consumer 才会自动的切换到 slave 进行读取,这种切换机制是自动的,不需要开发者去管理。由于 consumer 存在自动切换的机制,也就保证了消息消费的高可用。如果不是双组双存的架构,只有一个主节点和 n 个从节点,主节点崩溃,则显示失败。所以我们应该将其搭建为双组双存的架构,其中一个主节点崩溃,还可以使用另外一个主节点,保证消息发送的高可用,基于这种方式进行搭建。

 

二、消息发送高可用

image.png在发送消息的时候,当前 topic 的路由指向到两个 broker 组当中,比如说 brokerA、brokerB ,brokerA  当中有一个主节点和 n 个从节点, brokerB 有一个主节点和 n 个从节点。那么即使 brokerA 主节点崩溃,那么还有 brokerB 可以代替执行操作,保证消息发送到高可用性。

 

三、总结

四个方面,首先是 nameserver 的高可用性是通过集群完成,broker 是通过主节点和从节点保证其高可用性,可以搭建多个主节点和多个从节点。消息的消费者有自动切换的机制,自身就是高可用的配置,主节点崩溃,从节点可以继续提供消息的消费。生产者为了保证消息的高可用性,应该搭建为双组双存的方式,目前就是这种方式。

 

相关实践学习
快速体验阿里云云消息队列RocketMQ版
本实验将带您快速体验使用云消息队列RocketMQ版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
消息中间件 存储 缓存
RibbitMQ学习笔记之MQ练习(三)
RibbitMQ学习笔记之MQ练习
157 0
|
消息中间件 存储 算法
RocketMQ学习笔记
RocketMQ学习笔记
278 0
|
传感器 网络协议 中间件
Mqtt学习笔记--交叉编译移植(1)
Mqtt学习笔记--交叉编译移植(1)
276 0
|
消息中间件 存储 缓存
RocketMQ 5.0 可观测能力升级: Tracing 链路追踪介绍|学习笔记
快速学习 RocketMQ 5.0 可观测能力升级: Tracing 链路追踪介绍
1003 0
RocketMQ 5.0 可观测能力升级: Tracing 链路追踪介绍|学习笔记
|
消息中间件 网络协议 数据中心
RabbmitMQ学习笔记-RabbitMQ集群架构模式
RabbmitMQ学习笔记-RabbitMQ集群架构模式
235 0
|
消息中间件 Java
RabbmitMQ学习笔记-RabbitMQ与SpringBoot2.0整合实战
在使用 RabbitMQ 的时候,作为消息发送方希望杜绝任何消息丢失或者投递失败场景。RabbitMQ 为我们提供了两种方式用来控制消息的投递可靠性模式。
237 0
|
消息中间件 中间件
RibbitMQ学习笔记之MQ发布确认
RibbitMQ学习笔记之MQ发布确认
116 0
|
消息中间件 网络协议
RibbitMQ学习笔记之MQ练习(二)
RibbitMQ学习笔记之MQ练习
117 0
|
消息中间件 网络协议 Java
RibbitMQ学习笔记之MQ练习(一)
RibbitMQ学习笔记之MQ练习
187 0
|
消息中间件 存储 网络协议
RibbitMQ学习笔记之MQ 的相关概念
RibbitMQ学习笔记之MQ 的相关概念
181 0