春季云-服务器和客户端

时间:2019-10-07 02:18:07

标签: spring-cloud spring-cloud-netflix spring-cloud-config spring-cloud-feign

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

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

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

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

“使用状态为UP的eureka注册应用程序FLY-CLIENT”

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

谢谢!

1 个答案:

答案 0 :(得分:0)

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

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

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

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