前言
Nacos服务发现的概念,以及主流的服务发现中心。
什么是服务发现
@RestController
public class ProviderController {
@GetMapping("/service")
public String service(){
return "provider invoke";
}
}
配置文件
server.port=10001
Service A(服务提供方)
@RestController
public class ConsumerController {
@Value("${provider,address}")
private String providerAddress;
@GetMapping("/service")
public String service(){
RestTemplate restTemplate=new RestTemplate();
String result=restTemplate.getForObject("http://"+providerAddress+"/service",String.class);
return "consumer invoke | "+result;
}
}
配置文件
server.port=10002
#服务生产方的提供地址
provider,address=127.0.0.1:10001
访问接口 http://127.0.0.1:10002/service
主流的服务发现与配置中心对比
Nacos四大特性
- 1. 服务发现和服务健康检查
Nacos使服务更容易注册,并通过DNS或HTTP接口发现其它服务,Nacos还提供服务的实时健康检查,以防向不健康的主机或服务示例发送请求 - 2. 动态配置管理
动态配置服务允许您在所有环境中以集中和动态的方式管理所有服务的配置。Nacos消除了在更新配置时重新部署应用程序,这使配置的更改更加高效和灵活。 - 3. 动态DNS服务
Nacos提供基于DNS协议的服务发现能力,旨在支持异构语言的服务发现,支持将注册在Nacos上的服务以域名的方式暴露端点,让第三方应用方便的查阅及发现。 - 4. 服务和元数据管理
Nacso能让您微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的描述,生命周期,服务的静态依赖分析,服务的健康状态,服务的流量管理,路由以及安全策略。
1,3,4说明了服务发现的功能特征。