第一步,当客户端(消费者)启动成功后,会进行两个步骤。
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)