Eureka多个相同服务提供者以及客户端负载均衡
https://www.cnblogs.com/qq931399960/p/15825840.html
多个相同服务者,需要将spring.application.name设置为相同,另外,还可能需要设置eureka.instance.instance-id,尤其是在同一台服务器中部署多个相同服务提供者,且server.port为随机的情况下。
默认eureka.instance.instance-id的配置为:
${spring.cloud.client.hostname}:${spring.application.name}:${spring.application.instance_id:${server.port}
若要使多个服务提供者都生效,则需要保证eureka.instance.instance-id唯一,否则相同的eureka.instance.instance-id,在eureka管理界面只会看到有一个生效,而且事实上确实也只有一个会生效。尤其是在同一台机器上,server.port设置为0,随机使用端口启动服务提供者的情况下,需要明确设置该值。
本例中使用的为springboot 2.6.2版本,使用feign,客户端需要引入spring-cloud-starter-netflix-eureka-client依赖,该依赖默认会引入spring-cloud-starter-loadbalancer,由该loadbalancer来负责处理客户端的复杂均衡,而不是ribbon。