Spring cloud-服务器和客户端

问题描述 投票:0回答:1

我正在使用Spring Cloud Eureka配置应用程序。我从8761端口启动发现应用程序,并在“ http://localhost:8761”中访问控制台。

因此,我启动了我的客户端应用程序,它出现在eureka控制台的“应用程序”页面中。

第一个问题:我的客户端在属性配置中使用“ server.port = 0”,因此tomcat端口是随机启动的。如何在客户中获得服务?示例:我在“ / api / stuff”中有一个get请求,是否可以不使用随机端口访问它?假设我不知道端口!

第二个问题:我可以启动我想要的任何客户端,假设一个随机端口并在云服务器发现中注册,它们将启动,我可以看到日志:

“使用eureka将应用程序FLY-CLIENT注册为UP”

但是它们没有出现在eureka控制台的“应用程序”页面中,为什么它们没有出现?

谢谢!

spring-cloud spring-cloud-netflix spring-cloud-config spring-cloud-feign
1个回答
0
投票

如果您正在使用Spring RestTemplate来请求在Eureka中注册的服务,则需要使其成为@ LoadBalanced,类似的方法应该尝试一下:

@LoadBalanced
@Bean
RestTemplate restTemplate() {
    return new RestTemplate();
}

// usage
restTemplate.getForObject("http://your-service-name/api/stuff", StuffResponse.class);

关于第二个问题,我有点困惑,正如您在前面的问题中提到的那样,您的应用程序出现在Eureka的仪表板上。这种行为仅发生在“ fly-client”上吗?

© www.soinside.com 2019 - 2024. All rights reserved.