我已经在云代工厂部署了一个eureka服务器以及一个微服务“helloworld”。然后我将“helloworld”缩放到两个实例,因此我发现在eureka仪表板中有两个“helloworld”实例注册。
我想在运行时我消费“helloworld”是否有办法知道正在调用哪个实例?Cloud Foundry为它们分配了两个随机ID。基本上,如果我可以检索将是好的随机ID。
答案 0 :(得分:0)
您可以使用Eureka的EurekaClient
课程来获取有关特定服务的信息。 http://cloud.spring.io/spring-cloud-static/Camden.SR3/#_using_the_eurekaclient
答案 1 :(得分:0)
在springbooapplication类(主类)中使用以下命令在终端/控制台中打印所有实例:
@Component 类DiscoveryClientSample实现CommandLineRunner {
@Autowired
private DiscoveryClient discoveryClient;
@Override
public void run(String... strings) throws Exception {
System.out.println(discoveryClient.description());
discoveryClient.getInstances("helloworld").forEach((ServiceInstance serviceInstance) -> {
System.out.println("Instance --> " + serviceInstance.getServiceId()
+ "\nServer: " + serviceInstance.getHost() + ":" + serviceInstance.getPort()
+ "\nURI: " + serviceInstance.getUri() + "\n\n\n");
});