①random loadbalance 策略
默认状况下,dubbo是random loadbalance 随机调用实现负载均衡,能够对provider不一样实例设置不一样的权重,会按照权重来进行负载均衡,权重越大分配的流量越高,通常就用这个默认的就能够了。java
②roundrobin loadbalance策略
这个策略默认会将请求均匀的分布到各个provider上面,可是若是各个机器的性能不同,很容易到杭州性能差 的机器负载太高。算法
③leastactive loadbalance策略
自动感知机器性能,若是某个机器性能差,那么这个机器接收到的请求就会越少。接收到的请求越少,机器就越不活跃,那么不活跃的机器就会接到更少的请求。负载均衡
④consistanthash loadbalance策略
一致性hash算法,相同参数的请求必定发送到同一个provider上面去,provider挂掉的时候,会基于虚拟节点均匀分配剩余的请求,抖动不会太大。dom
①failover cluster策略
调用一个provider失败,自动切换到其余的provider上面去调用,默认策略,常见于读操做。ide
②failfast cluster策略
一次调用provider失败就当即失败,常见于写操做。性能
③failsafe cluster策略
出现异常时忽略掉,常见于不重要的接口调用,好比日志记录。代理
④faliback cluster策略
失败后后台自动记录请求,而后定时重发,比较适合写消息队列这种操做。日志
⑤forking cluster策略
并行调用多个provider,只要有一个成功就当即返回。接口
⑥broadcast cluster策略
逐个调用全部的provider。队列
默认使用javassist动态字节码生成,建立代理类。 能够经过spi机制扩展配置本身的动态代理策略。