我已经将eureka服务器与微服务“helloworld”一起部署在了Cloud Foundry上。然后,将“helloworld”缩放到两个实例,因此我发现在尤里卡仪表板中有两个“helloworld”实例注册。
我想知道在运行时使用“helloworld”时是否有办法知道正在调用哪个实例?Cloud Foundry为它们分配了两个随机ID。基本上,如果我可以检索随机ID,那将会很好。
最佳答案
在springbootapplication类(主类)中使用以下命令在终端/控制台中打印所有实例:
@Component
class DiscoveryClientSample implements 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");
});