项目地址:

github地址

配置方式

1.在restTemplate配置类里面添加一个bean,用于确认所属的负载均衡算法类类型,全部代码如下:

package com.debuggg.cloud.cfg;import com.netflix.loadbalancer.IRule;
import com.netflix.loadbalancer.RoundRobinRule;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;@Configuration
public class CfgBean {@Bean@LoadBalancedpublic RestTemplate getRestTemplate(){return new RestTemplate();}@Beanpublic IRule myRule(){return new RoundRobinRule();//默认的轮询算法
//        return new RandomRule();//达到的目的,用我们重新选择的随机算法替代默认的轮询
//        return new RetryRule();//重试负载均衡,如果有服务端挂了,重试几次之后会排除该服务器}
}

2.系统提供负载均衡算法的种类:

RoundRobinRule 轮询

RandomRule 随机

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

WeightedResponseTimeRule 根据平均响应时间计算所有服务的权重,响应时间越快服务权重越大被选中的概率越高。刚启动时如果统计信息不足,则使用RoundRobinRule策略,等统计信息足够,会切换到WeightedResponseTimeRule

RetryRule 先按照RoundRobinRule的策略获取服务,如果获取服务失败则在指定时间内会进行重试,获取可用的服务

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

ZoneAvoidanceRule 默认规则,复合判断server所在区域的性能和server的可用性选择服务器

6.Springcloud的Ribbon的负载均衡算法解析及配置方式相关推荐

  1. SpringCloud的Ribbon自定义负载均衡算法

    1.Ribbon默认使用RoundRobinRule策略轮询选择server 策略名 策略声明 策略描述 实现说明 BestAvailableRule public class BestAvailab ...

  2. Ribbon自定义负载均衡算法

    Ribbon是什么? Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起.Ribbon客户端组件提供一系列完善的配置项如连接超时 ...

  3. Ribbon默认负载均衡算法之轮训算法原理解析

    目录 此项目中用到的数据库脚本文件 父模块`cloud2020`中仅有一个`pom.xml`文件 项目结构图 `pom.xml`文件 1.创建一个微服务项目用来测试 1.1创建`cloud-api-c ...

  4. SpringCloud(7)Ribbon 与负载均衡

    Ribbon SpringCloud Ribbon 是基于NetFlix Ribbon实现的一套客户端负载均衡的工具 简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负 ...

  5. 【微服务架构】SpringCloud使用Ribbon实现负载均衡

    说在前面 软负载均衡的实现方式有两种,分别是服务端的负载均衡和客户端的负载均衡 服务端负载均衡:当浏览器向后台发出请求的时候,会首先向反向代理服务器发送请求,反向代理服务器会根据客户端部署的ip:po ...

  6. Java 常用负载均衡算法解析

    前言 负载均衡在Java领域中有着广泛深入的应用,不管是大名鼎鼎的nginx,还是微服务治理组件如dubbo,feign等,负载均衡的算法在其中都有着实际的使用 负载均衡的核心思想在于其底层的算法思想 ...

  7. 【详解】Ribbon 负载均衡服务调用原理及默认轮询负载均衡算法源码解析、手写

    Ribbon 负载均衡服务调用 一.什么是 Ribbon 二.LB负载均衡(Load Balancer)是什么 1.Ribbon 本地负载均衡客户端 VS Nginx 服务端负载均衡的区别 2.LB负 ...

  8. Ribbon客户端负载均衡

    前一篇博客我们已经构建了一个微服务项目demo,地址为https://blog.csdn.net/f123147/article/details/115904274,在高访问量和高并发的复杂项目中,不 ...

  9. 应用交换技术的负载均衡算法

    原文出处是:http://hi.baidu.com/ruijievideo/blog/item/5959be1f3c1621ff1bd576d2.html 应用交换技术的负载均衡算法 应用交换技术里主 ...

最新文章

  1. iOS开发之自定义View的一些坑
  2. 网络营销外包——网络营销外包专员是如何提升网站权重数值的?
  3. java icomparer_集合数据处理(C#、JavaScript 和 Java)
  4. 转 Celery 使用
  5. 计算机的发展经历阶段应用领域,计算机的发展阶段
  6. [蓝桥杯2015决赛]分机号-枚举(水题)
  7. Web前端开发实用在线工具
  8. mysql可靠性优先策略
  9. 服务器端网站自适应,[移动SEO]PC端和移动端最佳适配方案
  10. 【阿里云生活物联网架构师专题 ③】esp32 sdk 直连接入天猫精灵IOT开放平台,实现天猫精灵找队友零配网功能和语音控制;
  11. uniapp运行到微信小程序开发工具
  12. 完整的OpenDDS的发布订阅编写及源码(Windows)
  13. 译:Dataiku 白皮书之《在银行和保险行业应用数据科学》
  14. 小白记录——识别RNA编辑位点
  15. 三线表里加小短线_LaTeX 第六课:图表的排版
  16. 计算机认识新朋友教案,认识新朋友教案
  17. 三相PFC程序30KW充电桩 采用目前最常用的TI DSP数字信号处理芯片
  18. selenium必应搜索,获取标题以及url
  19. 基于AndroidStudio员工绩效考核评价系统app设计
  20. CSDN首例Python自动化运维实战:从Linux系统中收集数据

热门文章

  1. Linux mv命令
  2. 在过去的12个月(2016)里,你用到的最多的算法或方法是什么?
  3. IT培训机构那些不得不说的事儿
  4. pythonread读取怎么是乱码_python中如何读写文件不乱码
  5. 消息中间件学习总结(11)——Kafka与RocketMQ的Topic数量对单机性能的影响比较分析
  6. Jenkins学习总结(2)——Jenkins+Maven进行Java项目持续集成
  7. mysql 1607_Windows下Mysql启动“服务名无效”及“系统错误1607”解决办法
  8. php w 框架叫什么意思,框架是什么,为啥要用框架. 框架解决了什么
  9. NG-ZORRO 7.0.1 发布,Ant Design 的 Angular 实现
  10. centos7环境下mysql5.7的安装与配置