Skip to content

流量管控

一、集群容错

集群容错,通过负载均衡获取具体访问实例信息之后,Dubbo 会发起 RPC 访问,如果访问过程之中出现问题,Dubbo 就会通过集群容错的方式,访问其他的实例或者报错,从而保证 RPC 访问的高可用性。

在 Dubbo 之中,支持的集群容错机制如下,可以直接看下面这个类

java
public interface ClusterRules {

    /**
     * 失败自动切换 
     * 默认的容错策略,如果调用失败,会调用其余的服务提供者
     **/
    String FAIL_OVER = "failover";
    /**
     * 快速失败
     * 如果调用失败,立即返回失败
     **/
    String FAIL_FAST = "failfast";
    /**
     * 失败安全
     * 如果说调用失败了,不会返回一个报错,而是返回一个空对象
     **/
    String FAIL_SAFE = "failsafe";
    /**
     * 失败自动恢复
     **/
    String FAIL_BACK = "failback";
    /**
     * 并行调用多个服务的实例,只要有一个成功返回即可
     **/
    String FORKING = "forking";

    /**
     *  广播
     **/
    String BROADCAST = "broadcast";

    String AVAILABLE = "available";

    String MERGEABLE = "mergeable";

    String EMPTY = "";

}

二、集群路由

路由会根据路由规则对每次请求进行条件分配,并将符合条件的请求路由到特定的地址子集