使用ribbon做负载均衡时注意点:
1、服务名称(spring.application.name)要保持一致。
2、Eureke服务注册id(eureka.instance.instance-id)要不一样。
3、提供相同服务能力的负载项目要先启动,然后再启动服务调用方,如果在调用方不停止的情况下,添加负载提供项目,调用方发现不了,新添加的负载无调用。(我测试是这样的!!!)。
示例yml文件参考:
server:
port: 8090
spring:
application:
name: learn-user
eureka:
instance:
instance-id: learn-user-id
client:
serviceUrl:
#注册地址 server1修改了hosts文件
defaultZone: http://server1:8000/eureka/
---
server:
port: 8091
spring:
application:
name: learn-user
profiles: user1
eureka:
instance:
instance-id: learn-user-id-1
client:
serviceUrl:
#注册地址 server1修改了hosts文件
defaultZone: http://server1:8000/eureka/
---
server:
port: 8092
spring:
application:
name: learn-user
profiles: user2
eureka:
instance:
instance-id: learn-user-id-2
client:
serviceUrl:
#注册地址 server1修改了hosts文件
defaultZone: http://server1:8000/eureka/
---
测试启动命令 (通过--spring.profiles.active指定依据那个配置启动)
java -jar learn-user-1.0-SNAPSHOT.jar --spring.profiles.active=user1