NameServer接收其它角色报上来的状态,然后根据请求返回相应的状态。首先把执行线程池创建好,默认是8个线程。同时创建一个ScheduledExecutorService,周期性执行两个任务,一个是10s扫描失效的broker,一个是10m打印配置信息。创建负责网络通信的NettyRemotingServer,负责监听broker,producer,consumer发过来的请求,根据请示的命令来调用不同的processor来处理。这些不同的处理逻辑放到上面初始化的线程池中执行。

this.remotingServer = new NettyRemotingServer(this.nettyServerConfig, this.brokerHousekeepingService);this.remotingExecutor =Executors.newFixedThreadPool(nettyServerConfig.getServerWorkerThreads(), new ThreadFactoryImpl("RemotingExecutorThread_"));this.registerProcessor();this.scheduledExecutorService.scheduleAtFixedRate(new Runnable() {@Overridepublic void run() {NamesrvController.this.routeInfoManager.scanNotActiveBroker();}}, 5, 10, TimeUnit.SECONDS);this.scheduledExecutorService.scheduleAtFixedRate(new Runnable() {@Overridepublic void run() {NamesrvController.this.kvConfigManager.printAllPeriodically();}}, 1, 10, TimeUnit.MINUTES);private void registerProcessor() {if (namesrvConfig.isClusterTest()) {this.remotingServer.registerDefaultProcessor(new ClusterTestRequestProcessor(this, namesrvConfig.getProductEnvName()),this.remotingExecutor);} else {this.remotingServer.registerDefaultProcessor(new DefaultRequestProcessor(this), this.remotingExecutor);}}
 

NameServer的总控逻辑相关推荐

  1. 网络游戏服务器构架设计(三):刀剑Online - 总控服务器、场景服务器

    转载于http://www.cnblogs.com/ychellboy/archive/2012/09/17/2675347.html 上一篇<网络游戏服务器构架设计(二)>介绍了刀剑On ...

  2. LR(1)分析法的总控的实现(C++实现)

     LR(1)分析法实验设计思想及算法 (1)若ACTION[sm , ai] = s则将s移进状态栈,并把输入符号加入符号栈,则三元式变成 为:(s0s1-sm s , #X1X2-Xm ai , a ...

  3. java看不起c语言,为什么我感觉Java比C语言难呢?总觉得逻辑上没有C语言好理解。比如各种继承介面。包之间的关系。...

    为什么我感觉Java比C语言难呢?总觉得逻辑上没有C语言好理解.比如各种继承介面.包之间的关系.以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我 ...

  4. 超导系统与服务器断开,HT一7超导托卡马克总控系统的设计与实现.pdf

    维普资讯 低温与超导 超导技术 Cry0.&Supercon I ^ 摹l Superconductivity Vo1.34 NO.1 HT一7超导托卡马克总控系统的设计与实现 王华,罗家融, ...

  5. 【最新敲简单】浪漫微信早安推送 +页面总控,JAVA版本,一键部署运行——保姆级教程

    [最新敲简单]微信早安推送 +页面总控, JAVA版本,一键部署运行--保姆级教程 文章目录 [最新敲简单]微信早安推送 +页面总控, JAVA版本,一键部署运行--保姆级教程 一.项目简介 二.本地 ...

  6. px4直升机混控逻辑整理

    目录 一.直升机混控矩阵的介绍: 二.源代码解读 一.直升机混控矩阵的介绍: 直升机混控: 直升机混控将三个控制输入(roll,pitch,thrust)组合为四个输出(斜盘伺服系统和主电机ESC设置 ...

  7. 长虹g2958进入总控php是什么,长虹G2958型彩电总线故障检修一例

    长虹 G2958型彩电总线故障检修一例 故障现象 :一 台长虹 G2958型彩电(带 画中画.NC-3 机 芯.遥控器型号为 K4D),场幅快速不停地伸缩变化 ,场 幅变化幅度不定(约 5cm~10c ...

  8. PLC编程顺控逻辑框架

    在PLC顺控中,机器回执行一系列动作,这一套动作往往是有顺序的,而且是一套动作之后机器完成任务,再重新从第一步开始.如下图,为蓄水池供水控制程序流程图. 因此,自动化机器中,存在多个判断,并根据判断结 ...

  9. rocketmq java实战_RocketMQ实战与原理解析 杨开元著 PDF下载

    推荐序 前言 第1章 快速入门1 1.1 消息队列功能介绍1 1.1.1 应用解耦1 1.1.2 流量消峰2 1.1.3 消息分发3 1.2 RocketMQ简介4 1.3 快速上手RocketMQ4 ...

最新文章

  1. SD-WAN — 核心能力
  2. 微信小程序界面跳转(1)
  3. codeforces educational round110 e
  4. 分布式锁的三种实现的对比
  5. 从零开始学习docker(三)link
  6. nand flash和nor flash的这几点区别你知道吗?
  7. c++ 封装的zookeeper库
  8. JAVA实现简单的FTP服务器
  9. php 有request,请问,php中的$_REQUEST是什么意思啊?
  10. HDU - 6297 CCPC直播
  11. IIS写入漏洞利用工具解析
  12. js通过url链接下载文件
  13. android Glide 去掉绿色背景(图片变绿解决方法)
  14. Flutter APNS device token not set before retrieving FCM Token for Sender ID
  15. ui界面设计基本原则
  16. 定制自己的xDoclet标签
  17. 科大讯飞语音实现Android拨号之一
  18. 网页抓取及信息提取(三)
  19. Java基础三个排序详解_继承粗解语法关键字分析
  20. ffmpeg中的时间 DTS、PTS、AV_TIME_BASE、AV_TIME_BASE_Q 介绍

热门文章

  1. 第08次:升级《陋习手记》完善主从UI
  2. jquery.dragsort.js 实现拖拽过程遇到的问题
  3. 查看 并发请求数及其TCP连接状态
  4. ActiveMQ 入门
  5. lightoj 1063 求割点
  6. 查找Excel的Sheetname的方法
  7. python开发的软件sparrow-黑客常用wifi蓝牙分析攻击工具,让你的设备陷入危险之中...
  8. python小程序代码50 到100行-Python代码不到四十行简单暴力,微信跳一跳小程序轻松过万...
  9. python装饰器类-python_类装饰器
  10. python matplotlib散点图-Matplotlib scatter绘制散点图的方法实现