RocketMQ原理学习-路由中心NameServer

学习重点

  • NameServer整体架构设计
  • NameServer动态路由发现与剔除机制

一、NameServer架构设计

先看一下 RocketMQ 的物理部署图,NameServer 类似于一个注册中心,生产者、消费者、Broker 都需要直接与 NameServer 进行通信。
在这里插入图片描述
Broker 消息服务器在启动时向所有 NameServer 注册,消息生产者(Producer)在发送消息之前先从 NameServer 获取 Broker 服务器地址列表,然后根据负载算法从列表中选择一台消息服务器进行消息发送 NameServer 与每台 Broker 服务器保持长连接,并间隔 30s 检测 Broker 是否存活,如果检测到 Broker 从路由注册表中将其移除但是路由变化不会马上通知消息生产者,为什么要这样设计呢?这是为了降低 NameServer 实现的复杂,在消息发送端提供容错机制来保证消息发送的高可用性。

二、NameServer路由注册、剔除

路由元信息

  • topicQueueTable: Topic 消息队列路由信息,消息发送时根据路由表进行负载均衡。
  • bro
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值