dubbo 3 集群容错配置

一、基础概念

        容错即“耐故障”或“容许故障”的意思。对于组成系统的元器件发生不可避免的故障时,采取响应的措施,仍能使系统维持正常工作状态。

        容错模式:是解决容错问题的一系列解决方案。

二、dubbo服务集群容错模式

        dubbo框架为服务集群容错提供了一系列好的解决方案,在此称为dubbo服务集群容错模式。

1、集群容错模式配置

  标签:

<dubbo:service>  //提供服务方的标签  用于发布服务

 <dubbo:reference>  //消费方的标签,用于引用服务

<dubbo:consumer> // 消费方,一般用于全局配置

<dubbo:provider>  //提供服务方,一般用于全局配置

        属性:cluster;

        类型:String;

        是否必填:可选;

        缺省值:failover;

        作用:性能调优;

        集群方式:可选:failover/failfast/failsafe/failback/forking;

        兼容性:2.0.5以上版本。

2、 Failover Cluster:失败自动切换

        当出现失败时,重试其他服务器,为缺省值。通常用于读操作,但重试会带来更长的延迟。可通过可通过retries="2"来设置重试次数(不含第一次)。

     <dubbo:service retries="2" / >或<dubbo: reference retries="2"/>

        或针对具体方法:

        <dubbo:reference>

            <dubbo:method name="findFoo" retries="2" />

        </dubbo:reference>

3、FailFast Cluster:快速失败

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

        示例:

 <dubbo:service  cluster="failfast" />或<dubbo:reference cluster="failfast" />

 读操作建议使用 Failover 失败自动切换,默认重试两次其他服务器。写操作建议使用 Failfast 快速失败,发一次调用失败就立即报错。

其他策略都不常用

4、Failsafe Cluster:失败安全

        出现异常时,直接忽略。通常用于写入审计日志等操作。

5、Failback Cluster:失败自动恢复

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

6、Forking Cluster:并行调用        

        并行调用多个服务器,只要一个成功即返回。通常用于实时性要求比较高的读操作,但需要浪费更多的服务资源。

        可通过forks="2"来设置最大并行数。

原文地址:https://www.cnblogs.com/hup666/p/13466219.html