img集群元数据简单来说,NameServer都是三此君胡说八道

前言

”三继君看过几本书,看了很多遍源码编译的RocketMQ进阶图,对于RocketMQ,你只需要记住这张图!如果觉得不错,记得点赞并跟随。”

一张图进阶RocketMQ图片链接

【重要】视频将在B站同步更新,欢迎观看,轻松抬高姿态。一张图进阶 RocketMQ-NameServer(视频版)

本文是“带图进阶RocketMQ”系列的第二篇。今天主要讲RocketMQ集群元数据管理。因为Producer、Consumer和Broker都需要和NameServer进行交互,所以三位负责的先生不得不跟大家说说NameServer的神圣。

《RocketMQ 整体架构》中说NameServer是集群的元数据管理中心,那么它管理的元数据是什么?一起来看看NameServer有什么,看完记得关注、转发、点赞、收藏。

图片[1]-img集群元数据简单来说,NameServer都是三此君胡说八道-唐朝资源网

img 集群元数据

简单来说,NameServer 负责集群元数据的增删改查。不管这个 CRUD 是怎么实现的,我们甚至可以理解为是数据库的 CRUD,但是我们必须知道这些元数据是什么样的。只有这样我们才能知道Producer、Consumer和Broker是如何根据这些数据发送和接收消息的。

集群元数据

如图所示,两主两从Broker集群相关的元数据信息包括topicQueueTable、BrokerAddrTable、ClusterAddrTable、brokerLiveInfo、FilterServer(暂不关注,图中未显示) )。

图片[2]-img集群元数据简单来说,NameServer都是三此君胡说八道-唐朝资源网

工作流程

那么我们来看看NameServer的简单工作流程。其他角色会主动向NameServer上报状态,并根据上报消息中的请求码做相应处理,更新存储的相应信息。

图片[3]-img集群元数据简单来说,NameServer都是三此君胡说八道-唐朝资源网

image-20220612152922567

为了让大家感觉更真实,不要以为都是废话,我们直接看源码吧:

总结

以上就是本文的全部内容。这么多数据,相信大家都有些头晕了。三继军简单总结:NameServer通过brokerLiveInfo维护存活的Brokers。 Producer 会获取上述路由信息,并指定将消息发送到哪个 Topic。根据Topic可以从topicQueueTable中选择一个Broker,根据BrokerName可以从BrokerAddrTable中获取Broker IP地址。有了IP地址,Producer就可以与Broker建立连接,通过网络将消息传递给Broker。

© 版权声明
THE END
喜欢就支持一下吧
点赞230赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容