zoukankan      html  css  js  c++  java
  • Ribbon负载均衡的实现

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

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

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

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

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

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

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

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

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

    1.2 实现方式

    二.自定义算法

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

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

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

    注意:

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

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

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

  • 相关阅读:
    用icas下载文件报错
    jboss7.1.1相关error及解决办法
    Base-64编码介绍
    上传文件路径问题
    ZooKeeper安装(Windows)
    DBCP连接池配置参数说明
    Linux普通用户使用sudo权限启停apache服务
    线程池中的队列
    java线程池原理及实现方式
    https基础流程
  • 原文地址:https://www.cnblogs.com/KdeS/p/12033538.html
Copyright © 2011-2022 走看看