如何在 Ribbon 和 FeignClient 中暂时禁用 Eureka Server 支持
How to Temporarily Disable Eureka Server support in Ribbon and FeignClient
我有两个微服务(car-management-service & rent- management-service), 在 rent-management-service 我打电话给 car-management-service 在 Eureka Discovery Server 的帮助下通过 Ribbon& FeignClient。它运行良好。
我已经在端口 (8100,8101,8102) 上启动了三个 car-management-service 运行 实例, 而Eureka完美地一个接一个地提供了这三个实例。
现在我想尝试是否可以通过禁用(临时 - 只是为了测试是否可能)Eureka 并提供 [=28 的直接 url 来限制它仅调用其中两个实例=]car-management-service 个实例,同时仍然保留 Ribbon 和 FeignClient。
租金管理服务
的application.yml
部分
eureka:
client:
service-url:
defaultZone: ${EUREKA_URI:http://localhost:8761/eureka}
car-management-service:
ribbon:
eureka:
enabled: false
listOfServers: localhost:8100, localhost:8101
#listOfServers: localhost:8100, localhost:8101, localhost:8102
ServerListRefreshInterval: 1000
汽车管理服务
的application.yml
部分
server:
port: 8100
eureka:
client:
enabled: true
service-url:
defaultZone: ${EUREKA_URI:http://localhost:8761/eureka}
即使我在 rent-management-service 中禁用了 Eureka 以发现 car -management-service 实例并硬编码三个 运行 car-management-service[=57= 中的两个] 个实例,rent-management-service 仍然选择所有三个实例。
为什么会这样?是application.yml配置有问题还是rent-management-service还是三个都接car-management-service 实例,因为它们在 pom.xml?
中具有 Eureka 服务器依赖项
如果我理解正确,您希望汽车管理服务的第三个实例不从发现服务获取流量。不是吗?你 运行 3 个实例,但你想让一个远离尤里卡?
你可以这样做。
运行 2 个来自汽车管理服务的实例,第 3 个实例在下方添加 属性
eureka:
client:
fetch-registry: false
register-with-eureka: false
在这种情况下,第 3 个服务将不会向 eureka 注册。
我有两个微服务(car-management-service & rent- management-service), 在 rent-management-service 我打电话给 car-management-service 在 Eureka Discovery Server 的帮助下通过 Ribbon& FeignClient。它运行良好。
我已经在端口 (8100,8101,8102) 上启动了三个 car-management-service 运行 实例, 而Eureka完美地一个接一个地提供了这三个实例。
现在我想尝试是否可以通过禁用(临时 - 只是为了测试是否可能)Eureka 并提供 [=28 的直接 url 来限制它仅调用其中两个实例=]car-management-service 个实例,同时仍然保留 Ribbon 和 FeignClient。
租金管理服务
的application.yml
部分
eureka:
client:
service-url:
defaultZone: ${EUREKA_URI:http://localhost:8761/eureka}
car-management-service:
ribbon:
eureka:
enabled: false
listOfServers: localhost:8100, localhost:8101
#listOfServers: localhost:8100, localhost:8101, localhost:8102
ServerListRefreshInterval: 1000
汽车管理服务
的application.yml
部分
server:
port: 8100
eureka:
client:
enabled: true
service-url:
defaultZone: ${EUREKA_URI:http://localhost:8761/eureka}
即使我在 rent-management-service 中禁用了 Eureka 以发现 car -management-service 实例并硬编码三个 运行 car-management-service[=57= 中的两个] 个实例,rent-management-service 仍然选择所有三个实例。
为什么会这样?是application.yml配置有问题还是rent-management-service还是三个都接car-management-service 实例,因为它们在 pom.xml?
中具有 Eureka 服务器依赖项如果我理解正确,您希望汽车管理服务的第三个实例不从发现服务获取流量。不是吗?你 运行 3 个实例,但你想让一个远离尤里卡? 你可以这样做。 运行 2 个来自汽车管理服务的实例,第 3 个实例在下方添加 属性
eureka:
client:
fetch-registry: false
register-with-eureka: false
在这种情况下,第 3 个服务将不会向 eureka 注册。