栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Nacos-客户端心跳机制

Nacos-客户端心跳机制

前言

本次使用的版本还是

		
        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-discovery
            2.1.0.RELEASE
        

那么接着上文Nacos-Client服务注册的主脉络我们看到如下位置

客户端心跳

相关铺垫
其实客户端心跳比较简单,查阅官方文档后我们得知其实也是向Nacos发送http请求

刚开始我以为是采用socket来监测心跳的,底层其实是采用线程任务,来完成的,这里并不是定时或者周期任务完成,就是一个普通的延迟任务里面套一个延迟任,等下我们看代码就懂了!

切入代码

行代码是心跳机制的入口,有个重要的参数

beatInfo.setPeriod(instanceInterval == 0 ? DEFAULT_HEART_BEAT_INTERVAL : instanceInterval);

这个是设置客户端的心跳发送间隔时间的!如果设置了,那么就用设置的时间,没有的话那么就采用默认时间5秒一次

切入addBeatInfo方法


这里Nacos的客户端心跳就是靠ScheduledExecutorService采用延迟任务来实现的,任务就定义在BeatTask中

切入BeatTask

发送心跳

long result = serverProxy.sendBeat(beatInfo);

从新调度

executorService.schedule(new BeatTask(beatInfo), nextTime, TimeUnit.MILLISECONDS);

切入sendBeat发送心跳

这里发送的是/instance/beat请求,那么和官网上的是对得上的

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/695775.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号