注册中心
文章平均质量分 69
ME ++
这个作者很懒,什么都没留下…
展开
-
Nacos 1.4.1注册中心源码深度解析-集群节点同步
新增节点的数据同步肯定是在服务注册时来做的了。入口在com.alibaba.nacos.naming.consistency.ephemeral.distro.DistroConsistencyServiceImpl#put。入口在com.alibaba.nacos.core.distributed.distro.DistroProtocol#DistroProtocol。同步的入口在 com.alibaba.nacos.naming.cluster.ServerListManager#init。原创 2023-03-11 23:55:39 · 326 阅读 · 0 评论 -
Nacos 1.4.1注册中心源码深度解析-服务下线
服务下线比较简单,入口在com.alibaba.nacos.naming.controllers.InstanceController#deregister。将实例从实例列表中移除,然后更新服务实例。consistencyService.put 在服务注册有说过,不再重复说了只不过底层做的是DELETE操作。原创 2023-03-11 23:51:36 · 284 阅读 · 0 评论 -
Nacos 1.4.1注册中心源码深度解析-健康检查
这样就对服务器的节点进行了过滤,只有一台才能执行健康检查。搞了一个定时任务,延时5s执行,然后每隔5s一次。我们来看下这个定时任务com.alibaba.nacos.naming.healthcheck.ClientBeatCheckTask#run。服务注册时会调用到com.alibaba.nacos.naming.core.Service#init。我们在回头看下com.alibaba.nacos.naming.healthcheck.ClientBeatCheckTask#run。原创 2023-03-11 23:47:06 · 247 阅读 · 0 评论 -
Nacos 1.4.1注册中心源码深度解析-服务心跳
客户端在服务注册的时候,会进到com.alibaba.nacos.client.naming.NacosNamingService#registerInstance(java.lang.String, java.lang.String, com.alibaba.nacos.api.naming.pojo.Instance)服务端的入口在com.alibaba.nacos.naming.controllers.InstanceController#beat。这样客户端的服务心跳就被服务端处理好了。原创 2023-03-11 23:38:44 · 239 阅读 · 0 评论 -
Nacos 1.4.1注册中心源码深度解析-服务发现
服务发现在scheduleUpdateIfAbsent方法中,添加了一个UpdateTask的定时任务。这里的核心还是调用上面的updateService方法,从服务端获取最新的列表更新到缓存。在getServiceInfo的底部,有一个定时任务的方法,会定时从服务端拉取最新的服务列表,更新到缓存。首次进入可能是获取不到的,所以这里就会调用updateServiceNow方法进行更新服务列表。客户端的实现比较简单,我们在来看下服务端。这里就是服务注册的时候注册的实例列表了。OK,服务端的服务发现更简单,原创 2023-03-11 23:32:25 · 264 阅读 · 0 评论 -
Nacos 1.4.1注册中心源码深度解析-服务注册
Nacos 1.4.1注册中心源码深度解析-服务注册服务注册Notifier任务的执行如何防止多节点读写并发冲突(COW 写时复制)ServiceChangeEvent事件发布com.alibaba.nacos.naming.core.Service#onChange 我们只看下核心 --> com.alibaba.nacos.naming.core.Service#updateIPs --原创 2023-03-11 23:24:19 · 770 阅读 · 0 评论