zoukankan      html  css  js  c++  java
  • 集群下Dubbo负载均衡配置

      在集群负载均衡时,Dubbo提供了4种均衡策略,默认为Random(随机调用)

    负载均衡策略:

      1)、Random LoadBalance(随机,按照权重的设置随机概率)

      

      2)、RoundRobin LoadBalance(轮询,按照权重设置轮询比率)

    请求次数 提供者ID
    1 服务提供者1
    2 服务提供者2
    3 服务提供者3
    4 服务提供者1
    5 服务提供者2
    6 服务提供者2
    7 服务提供者2

      3)、LeastActive LoadBalance(最少活跃数,ping值(延迟低)的调用,相同延迟的情况下随机)

      由于服务提供者1的延迟低,在保证延迟不变的情况下,服务提供者1将始终被调用

      4)、ConsistentHash LoadBalance

      一致性Hash,相同参数的请求总是发到同一个服务提供者(相同参数默认是指请求的第一个参数)

      当原本发送到特定服务提供者的请求,而该服务提供者刚好宕掉,那么该请求将基于虚拟节点平摊到其它服务提供者,不会引起剧烈的变动。

    *修改默认的负载均衡配置

      通过暴露或引用服务的loadbalance属性修改

      

    1 @Component  //org.springframework.stereotype.Component
    2 @Service(loadbalance = "roundrobin")    //com.alibaba.dubbo.config.annotation.Service
    3 public class UserServiceImpl implements UserService {
    4   ...      
    5 }
    1     @Reference(loadbalance = "roundrobin")
    2     private UserService userService;

    *修改负载均衡权重

      通过暴露服务的weight属性修改

    1 @Component  //org.springframework.stereotype.Component
    2 @Service(loadbalance = "roundrobin",weight = 100)    //com.alibaba.dubbo.config.annotation.Service
    3 public class UserServiceImpl implements UserService {
    4   ...  
    5 }

    **一般在项目中不会在代码层面指定权重而是在监控中心(dubbo-admin)中对服务动态的指定权重。

  • 相关阅读:
    新的开始
    0基础学习ios开发笔记第二天
    0基础学习ios开发笔记第一天
    Linux内核中SPI/I2c子系统剖析
    Linux内核之mmc子系统-sdio
    系统调用和中断处理的异同(以Linux MIPS为例)
    开始lisp的旅程
    Linux kernel驱动相关抽象概念及其实现 之“bus,device,driver”
    Linux kernel驱动相关抽象概念及其实现 之“linux设备模型kobject,kset,ktype”
    /etc/udev
  • 原文地址:https://www.cnblogs.com/fanqisoft/p/10360344.html
Copyright © 2011-2022 走看看