服务注册与发现【Eureka】- 服务发现Discovery
对于注册进Eureka里面的微服务,可以通过服务发现来获得该服务的信息。
就是每一个微服务自身暴露出来的服务自身的相关介绍信息(类似于一个企业网站的“关于我们”),比如:主机名称、端口号.....
修改服务提供者的Controller,引入 DiscoveryClient
@Autowired DiscoveryClient discoveryClient; /** * 服务发现 * @return */ @GetMapping(value = "/discovery",produces = { "application/json;charset=UTF-8" }) public Map<String,Object> discovery(){ Map<String,Object> map = new HashMap<>(); map.put("discoveryClient",discoveryClient); List<String> services = discoveryClient.getServices(); map.put("services",services); List<ServiceInstance> instances = discoveryClient.getInstances("CLOUD-PAYMENT-SERVICE"); map.put("instances",instances); return map; }
主启动类添加注解:@EnableDiscoveryClient
测试:
启动EurekaServer ,7001 / 7002 服务
启动 8001
访问
其他几个服务提供者也使用相同的方式来做服务发现。