RocketMQ架构(下)

简介: RocketMQ架构(下)

image.png

a、Broker分为Master与Slave
b、Master和Slave是1对多的关系
c、Master和Slave对应关系通过指定相同的BrokerName;
BorkerId=0表示Master,BorkerId=1表示Slave
d、Master也可以部署多个
e、brokerId=1参与消息的读负载

image.png

每个Broker与NameServer集群中的所有节点建立长连接
定时注册Topic信息到所有NameServer

索引服务


image.png

根据特定的Message key对投递到Broker的消息进行索引服务
以提供消息的快速查询


部署架构


组件启动流程

image.png

image.png

Producer与NameServer集群中的其中一个节点(随机选择)
建立长连接
定期从NameServer获取Topic路由信息

image.png

生产者向提供Topic 服务的Master建立长连接
且定时向Master发送心跳

消费者

image.png

Consumer与NameServer集群中的其中一个节点(随机选择)建立长连接
定期从NameServer获取Topic路由信息

image.png

a、消费者向提供Topic服务的Master、Slave建立长连接
且定时向Master、Slave发送心跳
b、Consumer既可以从Master订阅消息,也可以从Slave订阅消息


集群工作流程


image.png

服务注册

a、启动NameServer,NameServer起来后监听端口
等待Broker、Producer、Consumer连上来
相当于一个路由控制中心
b、Broker启动
跟所有的NameServer保持长连接
定时发送心跳包
心跳包中包含当前Broker信息(IP+端口等)以及存储所有Topic信息
注册成功后
NameServer集群中就有Topic跟Broker的映射关系

创建topic

收发消息前
先创建Topic
创建Topic时需要指定该Topic要存储在哪些Broker上
也可以在发送消息时自动创建Topic

生产消息

Producer发送消息
启动时先跟NameServer集群中的其中一台建立长连接
并从NameServer中获取当前发送的Topic存在哪些Broker上
轮询从队列列表中选择一个队列
然后与队列所在的Broker建立长连接从而向Broker发消息

消费消息

Consumer跟Producer类似
跟其中一台NameServer建立长连接
获取当前订阅Topic存在哪些Broker上
然后直接跟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
相关文章
|
6月前
|
消息中间件 大数据 关系型数据库
RocketMQ实战—3.基于RocketMQ升级订单系统架构
本文主要介绍了基于MQ实现订单系统核心流程的异步化改造、基于MQ实现订单系统和第三方系统的解耦、基于MQ实现将订单数据同步给大数据团队、秒杀系统的技术难点以及秒杀商详页的架构设计和基于MQ实现秒杀系统的异步化架构。
493 64
RocketMQ实战—3.基于RocketMQ升级订单系统架构
|
4月前
|
消息中间件 存储 Kafka
一文带你从入门到实战全面掌握RocketMQ核心概念、架构部署、实践应用和高级特性
本文详细介绍了分布式消息中间件RocketMQ的核心概念、部署方式及使用方法。RocketMQ由阿里研发并开源,具有高性能、高可靠性和分布式特性,广泛应用于金融、互联网等领域。文章从环境搭建到消息类型的实战(普通消息、延迟消息、顺序消息和事务消息)进行了全面解析,并对比了三种消费者类型(PushConsumer、SimpleConsumer和PullConsumer)的特点与适用场景。最后总结了使用RocketMQ时的关键注意事项,如Topic和Tag的设计、监控告警的重要性以及性能与可靠性的平衡。通过学习本文,读者可掌握RocketMQ的使用精髓并灵活应用于实际项目中。
3086 9
 一文带你从入门到实战全面掌握RocketMQ核心概念、架构部署、实践应用和高级特性
|
6月前
|
消息中间件 存储 设计模式
RocketMQ原理—5.高可用+高并发+高性能架构
本文主要从高可用架构、高并发架构、高性能架构三个方面来介绍RocketMQ的原理。
1974 21
RocketMQ原理—5.高可用+高并发+高性能架构
|
12月前
|
消息中间件 存储 Java
RocketMQ(一):消息中间件缘起,一览整体架构及核心组件
【10月更文挑战第15天】本文介绍了消息中间件的基本概念和特点,重点解析了RocketMQ的整体架构和核心组件。消息中间件如RocketMQ、RabbitMQ、Kafka等,具备异步通信、持久化、削峰填谷、系统解耦等特点,适用于分布式系统。RocketMQ的架构包括NameServer、Broker、Producer、Consumer等组件,通过这些组件实现消息的生产、存储和消费。文章还提供了Spring Boot快速上手RocketMQ的示例代码,帮助读者快速入门。
|
7月前
|
消息中间件 人工智能 自然语言处理
基于 RocketMQ 事件驱动架构的 AI 应用实践
基于 RocketMQ 事件驱动架构的 AI 应用实践
221 2
|
7月前
|
存储 消息中间件 人工智能
基于 Apache RocketMQ 的 ApsaraMQ Serverless 架构升级
基于 Apache RocketMQ 的 ApsaraMQ Serverless 架构升级
145 0
|
消息中间件 弹性计算 运维
云消息队列RabbitMQ 版架构优化评测
云消息队列RabbitMQ 版架构优化评测
155 6
|
消息中间件 Java RocketMQ
微服务架构师的福音:深度解析Spring Cloud RocketMQ,打造高可靠消息驱动系统的不二之选!
【8月更文挑战第29天】Spring Cloud RocketMQ结合了Spring Cloud生态与RocketMQ消息中间件的优势,简化了RocketMQ在微服务中的集成,使开发者能更专注业务逻辑。通过配置依赖和连接信息,可轻松搭建消息生产和消费流程,支持消息过滤、转换及分布式事务等功能,确保微服务间解耦的同时,提升了系统的稳定性和效率。掌握其应用,有助于构建复杂分布式系统。
308 0
|
消息中间件 算法 Java
弥补延时消息的不足,RocketMQ 基于时间轮算法实现了定时消息!
弥补延时消息的不足,RocketMQ 基于时间轮算法实现了定时消息!
1023 1
弥补延时消息的不足,RocketMQ 基于时间轮算法实现了定时消息!
|
消息中间件 uml RocketMQ
3 张图带你彻底理解 RocketMQ 事务消息
3 张图带你彻底理解 RocketMQ 事务消息
68000 2
3 张图带你彻底理解 RocketMQ 事务消息