Spring Cloud 负载均衡后,某个服务挂掉后保证数据一致性
前提是有zuul服务!说一下背景:一个eureka做的服务发现,2个微服务,1个zuul,当一个微服务挂掉后,由于eureka是默认集成了轮询策略,所以,当访问服务时,有50%几率是请求失败的,如何保证挂掉一个服务后还能100%请求成功呢?1、使用Hystrix2、让zuul只路由到活着的那个服务:添加依赖:<dependency><groupId>com.squareup.o
·
前提是有zuul服务!
说一下背景:一个eureka做的服务发现,2个微服务,1个zuul,当一个微服务挂掉后,由于eureka是默认集成了轮询策略,所以,当访问服务时,有50%几率是请求失败的,如何保证挂掉一个服务后还能100%请求成功呢?
1、使用Hystrix
2、让zuul只路由到活着的那个服务:
添加依赖:
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.6.0</version>
</dependency>
配置文件添加:
ribbon.connectTimeout: 2000
ribbon.readTimeout: 10000
ribbon.maxAutoRetries: 1
ribbon.maxAutoRetriesNextServer: 2
ribbon.okToRetryOnAllOperations: true
ribbon.okhttp.enabled: true
注意:这样有违背Spring Cloud设计的初衷,即违背了AP原则,转而成为了CP,不过,好用就行了!!!
更多推荐
已为社区贡献12条内容
所有评论(0)