RocketMQ 07 NameServer详解

RocketMQ 07 NameServer详解

NameServer是一个非常简单的Topic路由注册中心,其角色类似Dubbo中的zookeeper,支持Broker的动态注册与发现。主要包括两个功能

Broker管理,NameServer接受Broker集群的注册信息并且保存下来作为路由信息的基本数据。然后提供心跳检测机制,检查Broker是否还存活;

路由信息管理,每个NameServer将保存关于Broker集群的整个路由信息和用于客户端查询的队列信息。然后Producer和Conumser通过NameServer就可以知道整个Broker集群的路由信息,从而进行消息的投递和消费

NameServer通常也是集群的方式部署,各实例间相互不进行信息通讯。Broker是向每一台NameServer注册自己的路由信息,所以每一个NameServer实例上面都保存一份完整的路由信息。当某个NameServer因某种原因下线了,Broker仍然可以向其它NameServer同步其路由信息,Producer,Consumer仍然可以动态感知Broker的路由的信息

NameServer实例时间互不通信,这本身也是其设计亮点之一,即允许不同NameServer之间数据不同步(像Zookeeper那样保证各节点数据强一致性会带来额外的性能消耗)

为什么没有使用zookeeper?

相关推荐
Linux运维老纪12 分钟前
备份和容灾之区别(The Difference between Backup and Disaster Recovery)
linux·运维·服务器·数据库·安全·云计算·运维开发
久绊A17 分钟前
Linux 文件权限详解
linux·运维·服务器
guihong0041 小时前
ZooKeeper 常见问题与核心机制解析
linux·zookeeper·debian
yeyuningzi1 小时前
Debian 设定 tomcat 定时重启
运维·debian
m0_748232921 小时前
Nginx(搭建高可用集群)
运维·nginx·firefox
m0_疾风2 小时前
jenkins 入门到精通
运维·jenkins
xiao-xiang2 小时前
jenkins-Job构建
运维·jenkins
池央2 小时前
【Linux】常用指令详解二
linux·运维·服务器
IT闫2 小时前
【Docker】——安装Docker以及解决常见报错
运维·docker·容器
孤寂大仙v2 小时前
【Linux】进程状态
linux·运维·服务器