Spring Feign:故障转移

时间:2015-10-06 11:57:36

标签: failover spring-cloud hystrix

我刚刚测试了Spring Feign并发现,没有不可移植的故障转移机制。

我有一个服务A,它调用服务B.服务B有2个实例,我检查过,平衡工作 - 两个都被调用。但当我停止其中一个时,有一段时间我在调用服务A时收到错误页面 - 因为无法与B连接。

我有点期待,假装中也存在故障转移,因此当发现问题时,A会自动尝试其他B实例。或者我必须直接实现它,例如Hystrix?

1 个答案:

答案 0 :(得分:0)

Spring Cloud Netflix Feign使用Ribbon作为负载均衡器。您描述的情况特别适用于Ribbon加上Eureka,而不是Feign。你是错的,错误的实例将被缓存30秒的默认值。您可以配置功能区以重试某些方法(然后将请求剩余的良好服务器)。您还可以使用eureka.client.registryFetchIntervalSeconds=5缩短eureka /功能区缓存的生命周期(5秒而不是30秒)。

Hystrix有助于应对故障响应的后备,并在出现系统故障时作为断路器。)