Dubbo常用功能06集群容错

dubbo为集群调用提供了容错方案:

1、failover:(默认,推荐)

当出现失败时,会进行重试,默认重试2次,一共三次调用,但是会出现幂等性问题。

幂等性问题可以在业务层解决:

方案1:把数据的业务id作为数据库的联合主键,此时业务id不能重复。

方案2:(推荐)使用分布式锁来解决重复消费问题,例如redis。

2、failfast:当出现失败时,立即报错,不进行重试

3、failsafe:失败时不会报错,记录日志。

4、failback:失败就失败,开启定时任务,定时重发。

5、forking:并行访问多个服务器,获取任意一个结果即可认为成功。

结论:如果使用dubbo,不推荐把重试关闭,而实在非幂等性操作的场景下,服务提供者方做幂等性的方案。

官网地址:集群容错 | Apache Dubbo

原文地址:https://www.cnblogs.com/asenyang/p/15507514.html