因为Dubbo是支持分布式的当服务消費者调用服务提供者的接口失败时,Dubbo提供了六种容错的机制
调用一台机器上的服务失败之后自动切换机器重试服务,一般情况下用于读操作由于重试的时候需要通过负载均衡算法,需要重新选举调用机器切换会带来更长的延迟,所以可以设置重试次数
快速失败只发起一次调用,失败立即报错通常用于非幂等性的写操作,比如新增记录
失败安全,出现异常时直接忽略。通常用于写入重要性即时審计日志等操作
失败自动恢复,后台记录失败请求定时重发。通常用于消息通知操作
并行调用多个服务器,只要一个成功即返回通常用于实时性要求较高的读操作,但需要浪费更多服务资源可通过 forks = 2 来设置最大并行数。
广播调用所有提供者逐个调用,任意一台报錯则报错通常用于通知所有提供者更新缓存或日志等本地资源信息。