4. 简单聊聊 Dubbo集群容错策略

4. 简单聊聊 Dubbo集群容错策略

4. 简单聊聊 Dubbo集群容错策略

因为Dubbo是支持分布式的,当服务消费者调用服务提供者的接口失败时,Dubbo提供了六种容错的机制。

Failover Cluster(Dubbo默认)

调用一台机器上的服务失败之后自动切换机器重试服务,一般情况下用于读操作,由于重试的时候需要通过负载均衡算法,需要重新选举调用机器,切换会带来更长的延迟,所以可以设置重试次数
retries = 2,不包含第一次。

<dubbo:service retries=“2” />

Failfast Cluster

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

Failsafe Cluster

失败安全,出现异常时,直接忽略。通常用于写入重要性即时审计日志等操作。

Failback Cluster

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

Forking Cluster

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

Broadcast Cluster

广播调用所有提供者,逐个调用,任意一台报错则报错。通常用于通知所有提供者更新缓存或日志等本地资源信息。