基于电商场景的高并发RocketMQ实战-NameServer内核原理剖析、Broker 主从架构与集群模式原理分析

🌈🌈🌈🌈🌈🌈🌈🌈

【11来了】文章导读地址:点击查看文章导读!

🍁🍁🍁🍁🍁🍁🍁🍁

基于电商场景的高并发 RocketMQ 实战

Rocket 架构分析

NameServer 内核原理剖析

NameServer 是可以集群部署的,但是集群中的每台 NameServer 之间 不会进行通信,这样的好处就是 NameServer 集群中每个节点都是对等的,其中一台挂了之后,对集群不会有影响

Broker 在启动之后,会想 NameServer 集 群中的每个 NameServer 中都会注册自己的信息

Broker 每隔 30s 会想 NameServer 中发送心跳,来让 NameServer 感知到 Broker 的存活状态

在 NameServer 中有一个后台线程,会每隔 10s 去检查是否有 Broker 在 120s 内都没有发送心跳,如果有,就将该 Broker 从存活列表中剔除掉!

Broker 主从架构与集群模式原理分析

在 Broker 集群中,生产者需要向 Broker 中写数据的话,先从 NameServer 中进行一个 Broker 列表的查询,之后再通过 负载均衡 去选择一个 Broker 进行消息的存储

Broker 的主从关系通过将 Broker 的 name 设置相同,brokerId 是 0 的话代表 Broker 是主节点的 ,brokerId 不是 0 的话代表 Broker 从节点的,Broker 的主从架构如下图:

关于消息中 Topic 的概念:

在生产者向 Broker 中发送消息的话,是指定了一个 Topic 的,那么 Topic 下是有一个 队列 的概念的

Topic 会在每个 Broker 分组里创建 4 个 write queue 和 4 个 read queue

那么生产者写入消息时,先根据 Topic 找到需要写入的 write queue,找到该 queue 所在的 Broker 进行写入,如下图:

相关推荐
文火冰糖的硅基工坊26 分钟前
[硬件电路-57]:根据电子元器件的受控程度,可以把电子元器件分为:不受控、半受控、完全受控三种大类
科技·架构·信号处理·电路·跨学科融合
车厘小团子2 小时前
🚀 解锁 JavaScript 中 Proxy 与 AOP 的强大用法:原理、场景与实战
前端·javascript·架构
泉城老铁2 小时前
springboot+druid预防连接断开、断开后自动恢复
java·后端·架构
泉城老铁2 小时前
Spring Boot 中使用 Druid 连接池进行极致优化
java·后端·架构
俞凡3 小时前
[大厂实践] 从混乱的事件驱动到高性能服务 API
架构
每天的每一天3 小时前
分布式文件系统04-DataNode海量数据分布式高可靠存储
架构
秋千码途5 小时前
小架构step系列20:请求和响应的扩展点
架构
oraen7 小时前
【kafka4源码学习系列】kafka4总体架构介绍
学习·架构·kafka
文火冰糖的硅基工坊8 小时前
[硬件电路-58]:根据电子元器件的控制信号的类型分为:电平控制型和脉冲控制型两大类。
单片机·嵌入式硬件·架构·信号处理·电子·跨学科融合
肖笙XiaoSheng8 小时前
并发与并行的区别你知道吗?
后端·架构