Nacos源码BeatReactor
而BeatReactor
这个类则维护了一个线程池:
当调用BeatReactor
的.addBeatInfo(groupedServiceName, beatInfo)
方法时,就会执行心跳:
public void addBeatInfo(String serviceName, BeatInfo beatInfo) {NAMING_LOGGER.info("[BEAT] adding beat: {} to beat map.", beatInfo);String key = buildKey(serviceName, beatInfo.getIp(), beatInfo.getPort());BeatInfo existBeat = null;//fix #1733if ((existBeat = dom2Beat.remove(key)) != null) {existBeat.setStopped(true);}dom2Beat.put(key, beatInfo);// 利用线程池,定期执行心跳任务,周期为 beatInfo.getPeriod()executorService.schedule(new BeatTask(beatInfo), beatInfo.getPeriod(), TimeUnit.MILLISECONDS);MetricsMonitor.getDom2BeatSizeMonitor().set(dom2Beat.size());
}
心跳周期的默认值在com.alibaba.nacos.api.common.Constants
类中:
可以看到是5秒,默认5秒一次心跳。
Nacos源码BeatReactor相关推荐
- Nacos源码系列—关于服务注册的那些事
点赞再看,养成习惯,微信搜索[牧小农]关注我获取更多资讯,风里雨里,小农等你,很高兴能够成为你的朋友. 项目源码地址:公众号回复 nacos,即可免费获取源码 简介 首先我们在看Nacos源码之前,要 ...
- Nacos源码系列——第三章(全网最经典的Nacos集群源码主线剖析)
上两个章节讲述了Nacos在单机模式下的服务注册,发现等源码剖析过程,实战当中 其实单机是远远不够的,那么Nacos是如何在集群模式下是如何保证节点状态同步,以及服 务变动,新增数据同步的过程的! ...
- Nacos源码系列——第一章(Nacos核心源码主线剖析上)
在讲具体的源码之前,我有几点想说明下,很多开发可能觉得源码不重要,甚至觉得互联网 的知识,目前够用就可以,也不需要多么精通.的确,在大多数的公司中,你能用你的知识 解决问题就可以,不一定非要涉及到源码 ...
- 全网最火的Nacos源码构建,你找不到第二个有我仔细的!!
本章开始带大家构建Nacos源码,后面我会开始分析Nacos源码的细节,结合本人在工作之余用到的Nacos点点滴滴,如果想和我一起学Nacos,就好好看这篇吧,废话不多说,先告诉你们Nacos怎么通过 ...
- 下载Nacos源码并运行
要研究Nacos源码自然不能用打包好的Nacos服务端jar包来运行,需要下载源码自己编译来运行. 下载Nacos源码 Nacos的GitHub地址:GitHub - alibaba/nacos: a ...
- nacos 启动_【Nacos源码之配置管理 一】阅读源码第一步,本地启动Nacos
前言 在我们去阅读Nacos源码之前,我们得先了解Nacos是干嘛的,以及怎么用,这样有利于我们更容易去理解源码; 查看Nacos的官方文档,我们知道Naocs主要有以下特性: 配置中心 服务注册与发 ...
- 如何访问集群中指定的服务器,【Nacos源码之配置管理 六】集群模式下服务器之间是如何互相感知的...
前言 我们用Nacos当配置中心的时候,上一篇文章中 [Nacos源码之配置管理 五]为什么把配置文件Dump到磁盘中 知道了,所有的配置文件都会Dump到服务器的本地磁盘中, 那么集群模式下: 服务 ...
- (Nacos源码解析五)Nacos服务事件变动源码解析
Nacos源码解析系列目录 Nacos 源码编译运行 (Nacos源码解析一)Nacos 注册实例源码解析 (Nacos源码解析二)Nacos 服务发现源码解析 (Nacos源码解析三)Nacos 心 ...
- nacos源码修改编译(亲测)
nacos源码修改编译 文章目录 nacos源码修改编译 内容概述 源码修改 源码编译 测试 内容概述 生产项目选型时选择nacos作为项目的注册中心,但是由于内网安全要求,用户名和密码必须加密传输, ...
最新文章
- iOS开发系列--通知与消息机制
- Oracle之物化视图
- 计算机科学与技术在线阅读,TL2011计算机科学与技术.pdf
- 如何让控件span的id调用ajax_微服务架构之「 调用链监控 」
- 机器学习入门04-线性回归原理与java实现多元线性回归
- 用python随机生成5000个网址_使用Python脚本生成随机IP的简单方法
- BZOJ3884 上帝与集合的正确用法 【欧拉定理】
- ldconfig 和 ldd 命令用法
- 肚子上挂张画就能隐身:AI完全看不出我在哪,更看不出我是人类了 | 开源
- 一款PO VO DTO 转换神器,求求你别在到处找工具类了!
- (转)关于oracle表空间的规划方法
- SQL Server 2012 下载和安装教程
- matlab求含参数一元三次方程,matlab 求解一元三次方程,带其他参数
- IBDP1 经济好学吗?学习建议分享
- php后端自学,【后端开发】自学php有哪些好的方法
- Python开发mysql和mongo 连接类
- html防止恶意广告,如何拦截恶意网页和弹窗广告?解决方法
- 计算机语言市场份额,21年7月编程语言排名:python上升迅速,others占比最高
- AbstractHandlerMapping$PreFlightHandler can‘t be cast to springframework.web.method.HandlerMethod
- Matlab中出现“位置1处的索引超出数组边界(不能超过1)”