我正在尝试使用 Spring Cloud Load Balancer 创建一个简单的客户端负载均衡器。我想将其配置为返回由运行状况检查支持的相同实例。但是,我无法为负载均衡器指定多个配置。在没有运行状况检查的情况下使用相同的实例是没有意义的,因为“previouslyReturnedInstance”不会被丢弃,除非它从服务实例列表中删除。请注意,这是使用 Simple Discovery 客户端,因为我们不需要完整的服务发现。下面是一个用于测试的示例 application.yml 文件。
应用程序.yml
server:
port: 8888
spring:
cloud:
discovery:
enabled: true
client:
health-indicator:
enabled: true
simple:
instances:
hello-service:
- uri: http://localhost:9091
- uri: http://localhost:9092
loadbalancer:
ribbon:
enabled: false
**configurations: health-check**
health-check:
interval: 5000
refetch-instances: true
repeat-health-check: true
path:
hello-service: /api/status
cache:
enabled: false
上面的配置工作正常。如何向负载均衡器添加另一个配置层以将其包装在“SameInstancePreferenceServiceInstanceListSupplier”中?
为每个服务添加自定义配置只是为了添加包装器似乎是一种矫枉过正。