rocketmq注册、发送、存储、消费流程

文章详细介绍了RocketMQ的消息处理流程,包括NameServer的架构设计和路由元数据,消息的发送、存储机制(CommitLog、ConsumeQueue和Index文件),以及消息的并发消费流程。此外,还提到了消息拉取的核心步骤和RocketMQ的客户端线程池设计。

1.路由中心NameServer

1.1 NameServer架构设计

在这里插入图片描述

1)Broker每隔30s向NameServer集群的每一台机器发送心跳包,包含自身创建的topic路由等信息。
2)消息客户端每隔30s向NameServer更新对应topic的路由信息。
3)NameServer收到Broker发送的心跳包时会记录时间戳。
4)NameServer每隔10s会扫描一次brokerLiveTable(存放心跳包的时间戳信息),如果在120s内没有收到心跳包,则认为Broker失效,更新topic的路由信息,将失效的Broker信息移除。

1.2 路由核心元数据

保存在RouteInfoManager中
1)topicQueueTable:topic消息队列的路由信息,消息发送时根据路由表进行负载均衡。
2)brokerAddrTable:Broker基础信息,包含brokerName、所属集群名称、主备Broker地址。
3)clusterAddrTable:Broker集群信息,存储集群中所有Broker的名称。
4)brokerLiveTable:Broker状态信息,NameServer每次收到心跳包时会替换该信息。

5)filterServerTable:Broker上的FilterServer列表,用于类模式消息过滤。类模式过滤机制在4.4及以后版本被废弃。
在这里插入图片描述
  Roc

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

paopaodog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值