通过是否存在ephemeral,为true,走AP模式,否则走CP模式 。
Nacos 默认就是采用的AP模式使用Distro协议实现 。实现的接口是EphemeralConsistencyService对节点信息的持久化主要是调用put方法,
会先写入到DataStore中:
public void onPut(String key, Record value) {if (KeyBuilder.matchEphemeralInstanceListKey(key)) {Datum<Instances> datum = new Datum<>();datum.value = https://www.isolves.com/it/cxkf/kj/2023-02-08/(Instances) value;datum.key = key;datum.timestamp.incrementAndGet();// 数据持久化到缓存中dataStore.put(key, datum);}if (!listeners.containsKey(key)) {return;}notifier.addTask(key, DataOperation.CHANGE);}
总结
- 从依赖上找到需要启动的是要加载的服务注册类NacosDiscoveryAutoConfiguration,主要配置三个对象 NacosServiceRegistryNacosRegistrationNacosAutoServiceRegistration
- NacosServiceRegistry类的register方法,封装实例和心跳信息 通过http请求,定时发送发送心跳包,默认时间间隔是5秒 。通过http请求,发送实例信息 。
- 服务端 接收到心跳请求,更新心跳包最新时间 。服务端在15秒没有收到心跳包会将实例设为不健康,在30秒没有收到心跳包会将临时实例移除掉 。接收到服务注册接口,通过ephemeral判断是否走AP还是走CP,AP模式使用Distro协议 。通过调用EphemeralConsistencyService接口实现,持久化实例信息 。
- Nacos源码之注册中心的实现 https://juejin.cn/post/7170224661014249502
- Nacos 服务注册源码分析 https://juejin.cn/post/6983614902540140558
【Nacos服务注册原理分析】
推荐阅读
- 什么是服务器?输入网址会发生哪些事情
- 一手机号可注册两微信账号 品牌聚焦用户需求
- 注册商标有用吗,个人注册商标的条件
- 新泰|餐饮开启“抢人”模式,保洁保安需求量大!“春风送岗”系列就业服务活动启动
- 搜狐推广效果怎么样,搜狐公众号平台注册方法
- 中国无忧创业网怎么样,全新定制开发服务众包门户平台
- 公司纳税标准是什么,注册公司流程及费用
- 注册公司注意什么,成立公司十大注意事项
- 公司注册资本多少有什么关系,注册公司流程及费用
- 服务器是干什么的,服务器价位及使用方法