Dubbo容错策略

我们使用Dubbo做分布式服务需要了解Dubbo服务容错策略,Dubbo官网提出总共有六种容错策略,下面将详细介绍这六种容错策略区别。Dubbo官网介绍

Dubbo容错策略_第1张图片

  1. Failover Cluster 模式

    1.失败自动切换,当出现失败,重试其它服务器。(缺省)
    2. 通常用于读操作,但重试会带来更长延迟。
    3. 可通过retries=”2”来设置重试次数(不含第一次)。

  2. Failfast Cluster

    1. 快速失败,只发起一次调用,失败立即报错。
    2. 通常用于非幂等性的写操作,比如新增记录。
  3. Failsafe Cluster

    1. 失败安全,出现异常时,直接忽略。
    2. 通常用于写入审计日志等操作。
  4. .Failback Cluster

    1. 失败自动恢复,后台记录失败请求,定时重发。
    2. 通常用于消息通知操作。
  5. Forking Cluster

    1. 并行调用多个服务器,只要一个成功即返回。
    2. 通常用于实时性要求较高的读操作,但需要浪费更多服务资源。
      可通过forks=”2”来设置最大并行数。
  6. Broadcast Cluster

    1. 广播调用所有提供者,逐个调用,任意一台报错则报错。(2.1.0开始支持)
    2. 通常用于通知所有提供者更新缓存或日志等本地资源信息。

Dubbo容错策略_第2张图片

Dubbo容错策略成熟粒度:

Dubbo容错策略成熟粒度

总结: 在实际应用中 查询语句容错策略建议使用默认Failover Cluster ,而增删改 建议使用 Failfast Cluster 或者 使用 Failover Cluster(retries=”0”) 策略 防止出现数据 重复添加等等其它问题!建议在设计接口时候把查询接口方法单独做一个接口提供查询。

你可能感兴趣的:(Dubbo学习)