NameServer的总控逻辑
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的总控逻辑相关推荐
- 网络游戏服务器构架设计(三):刀剑Online - 总控服务器、场景服务器
转载于http://www.cnblogs.com/ychellboy/archive/2012/09/17/2675347.html 上一篇<网络游戏服务器构架设计(二)>介绍了刀剑On ...
- LR(1)分析法的总控的实现(C++实现)
LR(1)分析法实验设计思想及算法 (1)若ACTION[sm , ai] = s则将s移进状态栈,并把输入符号加入符号栈,则三元式变成 为:(s0s1-sm s , #X1X2-Xm ai , a ...
- java看不起c语言,为什么我感觉Java比C语言难呢?总觉得逻辑上没有C语言好理解。比如各种继承介面。包之间的关系。...
为什么我感觉Java比C语言难呢?总觉得逻辑上没有C语言好理解.比如各种继承介面.包之间的关系.以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我 ...
- 超导系统与服务器断开,HT一7超导托卡马克总控系统的设计与实现.pdf
维普资讯 低温与超导 超导技术 Cry0.&Supercon I ^ 摹l Superconductivity Vo1.34 NO.1 HT一7超导托卡马克总控系统的设计与实现 王华,罗家融, ...
- 【最新敲简单】浪漫微信早安推送 +页面总控,JAVA版本,一键部署运行——保姆级教程
[最新敲简单]微信早安推送 +页面总控, JAVA版本,一键部署运行--保姆级教程 文章目录 [最新敲简单]微信早安推送 +页面总控, JAVA版本,一键部署运行--保姆级教程 一.项目简介 二.本地 ...
- px4直升机混控逻辑整理
目录 一.直升机混控矩阵的介绍: 二.源代码解读 一.直升机混控矩阵的介绍: 直升机混控: 直升机混控将三个控制输入(roll,pitch,thrust)组合为四个输出(斜盘伺服系统和主电机ESC设置 ...
- 长虹g2958进入总控php是什么,长虹G2958型彩电总线故障检修一例
长虹 G2958型彩电总线故障检修一例 故障现象 :一 台长虹 G2958型彩电(带 画中画.NC-3 机 芯.遥控器型号为 K4D),场幅快速不停地伸缩变化 ,场 幅变化幅度不定(约 5cm~10c ...
- PLC编程顺控逻辑框架
在PLC顺控中,机器回执行一系列动作,这一套动作往往是有顺序的,而且是一套动作之后机器完成任务,再重新从第一步开始.如下图,为蓄水池供水控制程序流程图. 因此,自动化机器中,存在多个判断,并根据判断结 ...
- 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 ...
最新文章
- SD-WAN — 核心能力
- 微信小程序界面跳转(1)
- codeforces educational round110 e
- 分布式锁的三种实现的对比
- 从零开始学习docker(三)link
- nand flash和nor flash的这几点区别你知道吗?
- c++ 封装的zookeeper库
- JAVA实现简单的FTP服务器
- php 有request,请问,php中的$_REQUEST是什么意思啊?
- HDU - 6297 CCPC直播
- IIS写入漏洞利用工具解析
- js通过url链接下载文件
- android Glide 去掉绿色背景(图片变绿解决方法)
- Flutter APNS device token not set before retrieving FCM Token for Sender ID
- ui界面设计基本原则
- 定制自己的xDoclet标签
- 科大讯飞语音实现Android拨号之一
- 网页抓取及信息提取(三)
- Java基础三个排序详解_继承粗解语法关键字分析
- ffmpeg中的时间 DTS、PTS、AV_TIME_BASE、AV_TIME_BASE_Q 介绍
热门文章
- 第08次:升级《陋习手记》完善主从UI
- jquery.dragsort.js 实现拖拽过程遇到的问题
- 查看 并发请求数及其TCP连接状态
- ActiveMQ 入门
- lightoj 1063 求割点
- 查找Excel的Sheetname的方法
- python开发的软件sparrow-黑客常用wifi蓝牙分析攻击工具,让你的设备陷入危险之中...
- python小程序代码50 到100行-Python代码不到四十行简单暴力,微信跳一跳小程序轻松过万...
- python装饰器类-python_类装饰器
- python matplotlib散点图-Matplotlib scatter绘制散点图的方法实现