假设我有2个与Eureka注册的同名/类型的微服务实例,并且Ribbon在它们之间进行负载平衡。我还配置了Hystrix后备,以防服务中断。在调用Hystrix回退之前,Ribbon是否会尝试联系支持端点URL的所有可用服务?
答案 0 :(得分:1)
这取决于您的配置。
通常,Hystrix后备将由以下任何条件执行。
using (WebClient client = new WebClient())
{
client.UploadFile(Sitecore Handler, FilePath);
}
除外)在Hystrix超时期间,Hystrix不会阻止功能区重试。如果超时达到,Hystrix将在中断用户代码后执行回退方法。
可以使用以下属性调整功能区的重试次数。
HystrixBadRequestException
ribbon.MaxAutoRetriesNextServer
ribbon.MaxAutoRetries
ribbon.ReadTimeout
因此,您的后备将被称为
在所有功能区重试失败后,如果它们在Hystrix的超时时间内结束
或者,就在Hystrix超时后,如果Ribbon的所有重试操作都没有结束,直到Hystrix超时。