dubbo负载容错策略

一、dubbo 负载均衡策略
random loadbalance
  默认情况下,dubbo 是 random load balance 随机调用实现负载均衡,可以对 provider 不同实例设置不同的权重,会按照权重来负载均衡,权重越大分配流量越高,一般就用这个默认的就可以了。

roundrobin loadbalance
  这个的话默认就是均匀地将流量打到各个机器上去,但是如果各个机器的性能不一样,容易导致性能差的机器负载过高。所以此时需要调整权重,让性能差的机器承载权重小一些,流量少一些。
leastactive loadbalance
  这个就是自动感知一下,如果某个机器性能越差,那么接收的请求越少,越不活跃,此时就会给不活跃的性能差的机器更少的请求。

consistanthash loadbalance
  一致性 Hash 算法,相同参数的请求一定分发到一个 provider 上去,provider 挂掉的时候,会基于虚拟节点均匀分配剩余的流量,抖动不会太大。如果你需要的不是随机负载均衡,是要一类请求都到一个节点,那就走这个一致性 Hash 策略。

 

二、dubbo 集群容错策略
failover cluster 模式
  失败自动切换,自动重试其他机器(失败重试其它机器),默认就是这个,常见于读操作。

failfast cluster模式
  一次调用失败就立即失败,常见于写操作。(调用失败就立即失败)

failsafe cluster 模式
  出现异常时忽略掉,常用于不重要的接口调用,比如记录日志。

failback cluster 模式
  失败了后台自动记录请求,然后定时重发,比较适合于写消息队列这种。

forking cluster 模式
  并行调用多个 provider,只要一个成功就立即返回。

broadcacst cluster
  逐个调用所有的 provider。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章