5.NameServer

  1. NameServer作为rocketmq中重要的组件其主要有如下功能:
    1. 接受boker注册与解除注册
    2. 获取broker集群信息
    3. 根据topic查询其路由信息
    4. 查询所有的topic
    5. 删除topic
    6. 查询某集群下的所有topic
    7. 一些键值对设置,比如顺序消息相关设置
  2. 接受boker注册与解除注册
    1. broker注册时会携带如下信息
      1. 集群的名字
      2. 地址
      3. broker名字
      4. broker id: 0为master,非0为slave
      5. HA地址,即slave通过该地址可以从master同步数据
      例如,对于如下集群来说:

      左上角的broker注册时携带的数据为,cluster-a,10.10.10.10,broker-a,0,  HA地址(默认由当前broker地址+(当前broker监听的端口+1)组成)
    2. 对于namerserver来说会将以上信息存储为以下几种对应关系
      1. cluster name与broker name对应关系,也称集群信息

      2. broker name与broker角色和地址对应关系,也称主备信息

      3. broker地址与连接的对应关系,主要根据注册时间移除无效的连接,默认每10秒扫描一次,2分钟没有更新则任务连接无效。
        移除无效连接的同时,将以上所有对应关系全部更新一遍。
    3. 如果当前注册的broker为slave,则查询其master的HA地址并返回
    4. broker注册时同时会携带自身的topic路由信息(topic需要提前创建,创建的时候会遍历所有的master broker,在其上创建topic及queue的信息)
      1. topic 名字
      2. 可读queue数量
      3. 可写queue数量
      4. 权限,可读|可写
    5. 对于nameserver来说会将topic的路由信息存储为以下关系:

  3. 根据topic查询其路由信息
    1. 根据topic查询到broker name,再从主备信息关系查询到地址,最终返回如下对应关系

  4. 删除topic,仅仅从nameserver的存储中移除掉,不涉及broker(broker上的删除介绍broker时再说)
  5. namerserver高可用,由于各个nameserver之间并无通信,故,一个namerserver挂了并不会影响其他namerserver,至于和broker,consumer,producer之间的高可用等介绍相关模块时再介绍
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值