• Ribbon负载均衡的实现


    一.Ribbon自己提供的七种策略

    1.1 Ribbon提供的策略及其功能效果介绍

    轮询:一个节点一次无限循环的调。

    随机:如其名随机的,服务节点随机无规则的调。

    重试:按照轮询的策略获取服务,如果失败则会在指定的时间内一直重试轮询获取可用服务,默认时间500毫秒,可自定义时间。

    权重:初始化时去统计每一个服务的权重,时间越长,权重(weight)越小,被选中的可能性就越小。

    空闲:过滤掉由于多次访问故障而处于断路器跳闸状态的服务,然后选择一个并发量最小的服务。

    过滤:先过滤掉由于多次访问故障而处于熔断器跳闸状态的服务,还有并发的连接数量超过阈值的服务,然后对剩余的服务列表按照轮询策略进行访问

    大区过滤:先过滤调不可用的区域服务,在过滤调有故障或者超阈值的服务,剩下的服务轮询

    1.2 实现方式

    二.自定义算法

    2.1   主启动类配置开启自定义算法:

    ribbon中具体实现负载均衡的策略是通过IRule这个接口来实现的,接口实现结构图

    name:指定对使用算法的服务名称SelfRule.class)   配置

    注意:

    从上面这段话的意思是说,自定义的MySelfRule类不能和启动类在同级或者同一个包下

      2.2  Eureka结合Ribbon负载均衡时如何调用,下图为调用实列:

    PRODUCTACLIENT:服务的名称
    getuser:在该服务下的节点中的提供调用的服务方法方法

  • 相关阅读:
    C# winform开发:Graphics、pictureBox同时画多个矩形
    C# “配置系统未能初始化” 异常解决
    Google Maps API V3 之 路线服务
    Google Maps API V3 之 图层
    Google Maps API V3 之绘图库 信息窗口
    Google 地图 API V3 之 叠加层
    驱动开发之libusb函数
    libusb的使用教程和例子
    libusb检测U盘插入
    使用libusb检测USB设备插拔状态
  • 原文地址:https://www.cnblogs.com/KdeS/p/12033538.html
Copyright © 2020-2023  润新知