成都网站建设设计

将想法与焦点和您一起共享

RoctetMQ(二)namesrv启动-创新互联

创新互联公司网站建设公司是一家服务多年做网站建设策划设计制作的公司,为广大用户提供了网站设计、做网站,成都网站设计,广告投放平台,成都做网站选创新互联公司,贴合企业需求,高性价比,满足客户不同层次的需求一站式服务欢迎致电。

Topic 路由管理模块:Topic 路由决定 Topic 的分区数据会保存在哪些 Broker 上。这是 Namesrv 最核心的模块,Broker 启动时将自身信息注册到 Namesrv 中,方便生产者和消费者获取。生产者、消费者启动和间隔的心跳时间会获取 Topic 最新路由信息,以此发送或者接收消息。

Remoting 通信模块:是基于 Netty 的一个网络通信封装,整个 RocketMQ 的公共模块在 RocketMQ 各个组件之间担任通信任务。该组件以 Request/Response 的方式通信,比如你想知道你使用的 RocketMQ 支持哪些功能,可以查看 D:\rocketmq-master\common\src\main\java\org\apache\rocketmq\common\protocol\RequestCode.java,一个RequestCode 代表一种功能或者一个接口。

定时任务模块:在 Namesrv 中定时任务并没有独立成一个模块,而是由 D:\rocketmq-master\namesrv\src\main\java\org\apache\rocketmq\namesrv\NamesrvController.java 中initialize()调用的几个定时任务组成的,其中各包括定时扫描宕机的 Broker、定时打印 KV配置、定时扫描超时请求。

KV 管理模块:Namesrv 维护一个全局的 KV 配置模块,方便全局配置。

namesrv启动流程

  • 解析配置文件生成namesrv的配置,包括namesrvConfig和nettyServerConfig。
  • 根据配置文件生成NamesrvController对象并进入启动流程。
  • NamesrvController的初始化中创建NettyRemotingServer、初始化各类线程池、注册Namesrv的processor。
  • NamesrvController的启动主要是NamesrvController的启动,核心是启动NettyServer的监听以及各类扫描线程。
  • namesrv启动过程中JVM只有当所有的非守护线程都结束时候才会结束

参考文献:RocketMQ namesrv 启动流程解析 - 简书 (jianshu.com)

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网页名称:RoctetMQ(二)namesrv启动-创新互联
分享网址:http://chengdu.cdxwcx.cn/article/idpps.html