二.Nacos 1.3.1 源码解读之服务发现

425 阅读1分钟

第一步,当客户端(消费者)启动成功后,会进行两个步骤。
1). 获取服务器上存活的客户端服务名,缓存到本地中

/nacos/v1/ns/service/list

2). 将自己的服务,注册到服务器端
ApplicationEventPublisherAware初始化操作

第二步,获取服务器上存活的客户端服务名及个数,然后装入currentServices容器,再清除当前缓存的服务名(防止两次缓存)

NacosWatch.nacosServicesWatch()

第三步,通过事件驱动模式,使用服务名获取服务地址及端口号,并存入本地服务地址容器

NacosNamingService.subscribe(String serviceName, String groupName, List clusters, EventListener listener)

HostReactor.getServiceInfo(String serviceName, String clusters)