zoukankan      html  css  js  c++  java
  • Dubbo负载均衡

    一、搭建负载均衡环境

    两个提供者,一个消费者

    二、创建提供者

    (1) 创建提供者02-provider-zk01

    A、创建工程

    复制前面的02-provider-zk工程,并重命名为02-provider-zk01

    B、 修改配置文件

    C、修改Service实现类

    (2) 创建提供者02-provider-zk02

    A、创建工程

    复制前面的02-provider-zk工程,并重命名为02-provider-zk2

    B、修改配置文件

    C、修改Service实现类

    三、 创建消费者02-consumer-zk01

    A、创建工程

    B、修改配置文件

    C、创建消费者

    四、负载均衡算法

    若消费者与提供者均设置了负载均衡策略,消费者端设置的优先级高。
    若消费者端没有显式的设置,但提供者端显式的设置了,且同一个服务(接口名、版本号、分组都相同)的负载均衡策略相同。消费者调用时会按照提供者设置的策略调用。
    若多个提供者端设置的不相同,则最后一个注册的会将前面注册的信息覆盖

    (1) Dubbo内置的负载均衡算法

    A、random(默认)
    随机算法,是Dubbo默认的负载均衡算法。存在服务堆积问题。
    B、roundrobin
    轮询算法。按照设定好的权重依次进行调度。
    C、leastactive
    最少活跃度调度算法。即被调度的次数越少,其优选级就越高,被调度到的机率就越高。
    D、consistenthash
    一致性hash算法。对于相同参数的请求,其会被路由到相同的提供者。

    (2) 指定负载均衡算法

    负载均衡算法可以在消费者端指定,也可以在提供者端指定

    服务端服务级别

    <dubbo:service interface="..." loadbalance="roundrobin" />

    客户端服务级别

    <dubbo:reference interface="..." loadbalance="roundrobin" />

    服务端方法级别

    1. <dubbo:service interface="...">
    2. <dubbo:method name="..." loadbalance="roundrobin"/>
    3. </dubbo:service>

    客户端方法级别

    1. <dubbo:reference interface="...">
    2. <dubbo:method name="..." loadbalance="roundrobin"/>
    3. </dubbo:reference>

    官方介绍

    http://dubbo.apache.org/zh-cn/docs/user/demos/loadbalance.html

  • 相关阅读:
    HashMap的put方法
    死锁相关
    AVL树
    xss漏洞
    hash
    古典密码学教学
    python | 实现控制多台机器的脚本
    python | 端口扫描器(多线程)
    每日一洞 | 细说渗透江湖之出荆棘入深林
    每日一洞 | 细说渗透江湖之柳暗花明又一村
  • 原文地址:https://www.cnblogs.com/edda/p/13260156.html
Copyright © 2011-2022 走看看