• Spring Cloud
  • Spring Cloud 负载均衡后,某个服务挂掉后保证数据一致性

    移动书包 2年前 8323次点击 来自 Spring Cloud

    前提是有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,不过,好用就行了!!!

    目前暂无回复
    关于 广告投放
    ©2016 - 2019 V4.1.6 Powered by 北京雏森科技有限公司