zoukankan      html  css  js  c++  java
  • 分布式的几件小事(四)dubbo负载均衡策略和集群容错策略

    1.dubbo负载均衡策略

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

    roundrobin loadbalance策略
    这个策略默认会将请求均匀的分布到各个provider上面,但是如果各个机器的性能不一样,很容易到杭州性能差 的机器负载过高。

    leastactive loadbalance策略
    自动感知机器性能,如果某个机器性能差,那么这个机器接收到的请求就会越少。接收到的请求越少,机器就越不活跃,那么不活跃的机器就会接到更少的请求。

    consistanthash loadbalance策略
    一致性hash算法,相同参数的请求一定发送到同一个provider上面去,provider挂掉的时候,会基于虚拟节点均匀分配剩余的请求,抖动不会太大。

    2.dubbo的集群容错策略

    failover cluster策略
    调用一个provider失败,自动切换到其他的provider上面去调用,默认策略,常见于读操作。

    failfast cluster策略
    一次调用provider失败就立即失败,常见于写操作。

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

    faliback cluster策略
    失败后后台自动记录请求,然后定时重发,比较适合写消息队列这种操作。

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

    broadcast cluster策略
    逐个调用所有的provider。

    3.dubbo的动态代理策略

    默认使用javassist动态字节码生成,创建代理类。
    可以通过spi机制扩展配置自己的动态代理策略。

  • 相关阅读:
    对soc-audio体系snd_soc_machine和snd_soc_dai_link简单理解
    I2S
    alsa和oss声音系统比较
    break 和 continue
    phalcon查询:单条查询,多条查询,多表查询
    phalcon: 独立的映射,字段名名别名
    phpexcel: 数据导出
    php:Mcrypt响应慢的原因解决备注
    js:s上次预览,上传图片预览,图片上传预览
    yii2: 点击编辑后,左侧的连接(a.navtab)失效,变成在新窗口打开
  • 原文地址:https://www.cnblogs.com/jack1995/p/10921109.html
Copyright © 2011-2022 走看看