1、容错机制类型
类型 | 负载均衡 | 备注 |
---|---|---|
failover | 会 | 失败后会尝试调用其他服务器实例,默认尝试2次, 可以通过设置retries来设置次数。这是dubbo默认的容错机制,由于常常可能因为超时待原因触发异常但远程服务已经完成操作,所以这个类型不应就在数据更新的操作 |
failfast | 会 | 有异常立即返回,不做尝试,我认为可以用在数据更新上,以保证数据的一致性 |
fastsafe | 会 | 有异常会直接忽略,为的是保证调用方接下来的正常运行,一般用于日志收集等与正常流程无关的操作 |
failback | 会 | 失败后会将任务丢到失败队列中,并会异步再次尝试 |
forking | 否 | 同时调用多个服务,取最先返回的结果,可以通过forks设置最大并行数,这比较浪费资源 |
broadcast | 否 | 调用所有可用的服务,任意一个有错都会返回异常 |
Mock | 否 | 调用失败时返回伪造的响应结果 |
2、如何使用
一般在@DubboService或@DubboReference指定cluster即可,如
@DubboService(cluster = “failover”) //默认重试2次