我正在一个春季云项目中工作,我有一个eruka服务,zull代理和一个名为errors-service的微服务(zull代理和我的缺陷-服务是eurka的客户),并且一切正常。 在我的zull代理中,我具有以下配置:
eureka:
client:
register-with-eureka: true
fetch-registry: true
serviceUrl:
defaultZone: http://localhost:8370/eureka/
instance:
hostname: localhost
zuul:
prefix: /api
routes:
defects-service:
path: /defects-service/**
url: http://localhost:8300
我的问题是,现在我在不同的端口8301和8302(已在eruka服务中成功注册)上启动我的缺陷服务的两个实例,但是我不知道如何配置我的zull代理来进行负载平衡并开始重定向请求到我在端口(8300,8301,8302)上的三个实例。 请注意,zull仅知道http://localhost:8300
上的实例任何人都可以帮助我解决此问题。
最诚挚的问候。
答案 0 :(得分:1)
Zuul支持负载平衡开箱即用,而不是在配置中提供url
,请使用serviceId
:
zuul:
prefix: /api
routes:
defects-service:
path: /defects-service/**
serviceId: defects-service
答案 1 :(得分:0)
此问题的解决方案是使用以下配置:
zuul:
prefix: /api
routes:
defects-service:
path: /defects-service/**
serviceId: defects-service
在那之后,如果您遇到任何类似Hystrix Readed timed的错误..,只需添加以下配置:
hystrix:
command:
default:
execution:
isolation:
thread:
timeoutInMilliseconds: 11000
ribbon:
ConnectTimeout: 10000
ReadTimeout: 10000