跳到主要内容

(三) Nacos Client获取所有服务和定时更新Client端的注册表

文章目录

      • 1.Nacos Client获取所有服务
      • 1.1 Client如何获取所有服务
      • 1.2 Client获取服务方法getServices()详解
    • 2.Nacos定时更新Client端的注册表
      • 2.1 Nacos和Eureka定时更新Client端的注册表的区别
      • 2.2 Client定时更新本地服务过程
      • 2.3 updateServiceNow方法解析
      • 2.4 定时更新本地注册表中的当前服务

Nacos的服务发现功能: 获取所有服务, 定时更新Client端的注册表

1.Nacos Client获取所有服务

1.1 Client如何获取所有服务
 <dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

 

 

NacosDiscoveryClientAutoConfiguration.java

@Configuration
@ConditionalOnNacosDiscoveryEnabled
@AutoConfigureBefore({

SimpleDiscoveryClientAutoConfiguration.class,
CommonsClientAutoConfiguration.class })
public class NacosDiscoveryClientAutoConfiguration {



@Bean
@ConditionalOnMissingBean
public NacosDiscoveryProperties nacosProperties() {


return new NacosDiscoveryProperties();
}

@Bean
public DiscoveryClient nacosDiscoveryClient(
NacosDiscoveryProperties discoveryProperties) {


return new NacosDiscoveryClient(discoveryProperties);
}

@Bean
@ConditionalOnMissingBean
@ConditionalOnProperty(value = "spring.cloud.nacos.discovery.watch.enabled", matchIfMissing = true)
public NacosWatch nacosWatch(NacosDiscoveryProperties nacosDiscoveryProperties) {


return new NacosWatch(nacosDiscoveryProperties);
}
}