一,ribbon核心组件IRule自带的7中负载均衡算法

1,轮询 com.netflix.loadbalancer.RoundRobinRule
2,随机 com.netflix.loadbalancer.RandomRule
3,重试 先按照RoundRobinRule的策略获取服务,如果获取服务失败则在指定时间内进行重试,获取可用的服务 com.netflix.loadbalancer.RetryRule
4,对RoundRobinRule的扩展,响应速度越快的实例选择权重越多大,越容易被选择 WeightedResponseTimeRule
5,会先过滤掉由于多次访问故障而处于断路器跳闸状态的服务,然后选择一个并发量最小的服务 BestAvailableRule
6,先过滤掉故障实例,再选择并发较小的实例 AvailabilityFilteringRule
7,默认规则,复合判断server所在区域的性能和server的可用性选择服务器 ZoneAvoidanceRule

二,替换方法(以随机算法为例)

1,自建package(主启动类扫描的包分开放置位置)

2,新建MyRibbonRuleConfig配置类
package com.tigerhhzz.myribbonrule;import com.netflix.loadbalancer.IRule;
import com.netflix.loadbalancer.RandomRule;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** @author tigerhhzz* @date 2022/6/14 14:53*/
@Configuration
public class MyRibbonRuleConfig {@Beanpublic IRule MyRibbonRuleConfig (){//定义随机负载均衡算法return new RandomRule();}
}
3,主启动类上加上@RibbonClient(…)注解
package com.tigerhhzz.springcloud;import com.tigerhhzz.myribbonrule.MyRibbonRuleConfig;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.netflix.ribbon.RibbonClient;/*** @author tigerhhzz* @date 2022/6/13 9:18*/
@SpringBootApplication
@EnableEurekaClient
@EnableDiscoveryClient
@RibbonClient(name = "CLOUD-PAYMENT-SERVICE",configuration = MyRibbonRuleConfig.class)
public class OrderMain80 {public static void main(String[] args) {SpringApplication.run(OrderMain80.class, args);}
}

三,轮询负载均衡算法的原理

** 轮询算法原理:请求数/集群数 %取模(取余数)为服务器位置的下标**

ribbon的7种负载均衡算法和替换方法相关推荐

  1. Java实现5种负载均衡算法

    Java实现5种负载均衡算法 1. 轮询算法 import com.google.common.collect.Lists;import java.util.List; import java.uti ...

  2. Dubbo内置4种负载均衡算法(详解)

    1.1 什么是负载均衡 在实际开发中,一个服务基本都是集群模式的,也就是多个功能相同的项目在运行,这样才能承受更高的并发,这时一个请求到这个服务,就需要确定访问哪一个服务器 Dubbo框架内部支持负载 ...

  3. 五分钟让你搞懂Nginx负载均衡原理及四种负载均衡算法

    前言 今天这篇文章介绍了负载均衡的原理以及对应的四种负载均衡算法,当然还有对应的指令及实战,欢迎品尝.有不同意见的朋友可以评论区留言! 负载均衡 所谓负载均衡,就是 Nginx 把请求均匀的分摊给上游 ...

  4. 微服务的几种负载均衡算法

    目录 一.负载均衡 二.负载均衡算法 1.静态负载均衡 2.动态负载均衡 三.Dubbo负载均衡的四种算法 1.基于权重随机算法RandomLoadBalance 2.基于最少活跃数算法LeastAc ...

  5. 常见的几种负载均衡算法

    1.轮询 将所有请求,依次分发到每台服务器上,适合服务器硬件相同的场景. 优点:服务器请求数目相同: 缺点:服务器压力不一样,不适合服务器配置不同的情况: 2.随机 请求随机分配到各台服务器上. 优点 ...

  6. Ribbon负载均衡 算法

    1.Ribbon 简介 Ribbon是Netflix发布的负载均衡器,它有助于控制HTTP和TCP客户端的行为.为Ribbon配置服务提供者地址列表后,Ribbon就可基于某种负载均衡算法,自动地帮助 ...

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

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

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

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

  9. 5种Dubbo负载均衡算法(看这一篇就够了)

    文章目录 1.概述 2.随机+权重(random) 3.轮询+权重(roundrobin) 4.最少连接(leastactive) 5.最短响应(shortestresponse) 6.一致性哈希(c ...

最新文章

  1. linux u盘 挂载 type,Linux挂载U盘报错:mount: unknown filesystem type 'ntfs'
  2. bzoj1110: [POI2007]砝码Odw
  3. stm32呼吸灯程序_学习STM32从点灯开始!
  4. golang 怎么把指针内容也打印出来_FDM工艺3D打印出来的模型表面粗糙怎么解决?...
  5. vue 深度拷贝数组_前端深拷贝和浅拷贝
  6. ASP.net 判断上传文件类型的三种方法
  7. 13-栈的简单应用-递归
  8. 020-python函数和常用模块-文件操作
  9. 手机电子词典_如何把手机变成一款英语学习神器?
  10. tracePro材料目录与名称
  11. 华为HG8120C光猫换天邑TEWA-600AGM(百兆换千兆)的过程记录
  12. Elasticsearch高级(Shards、高可用集群搭建)
  13. 国外网站淘来的invocie java代码
  14. 使用ES文件浏览器通过Android设备访问Win7电脑上的共享文件
  15. 利用Python轻松实现抠图,背景色更换
  16. 压缩算法:字符串(JSON)压缩和解压【JDK之Deflater压缩与Inflater解压】
  17. 使用 Electron 给前端项目 打包成exe
  18. 二、Oracle数据库的创建—通用
  19. 全力以赴提升粮食产能建设责任担当
  20. typescript (一) 数据类型之 基础数据类型

热门文章

  1. druid连接池mysql自动关闭_druid连接池
  2. C++时间库 chrono
  3. IDEA 插件activate-power-mode炫酷插件安装
  4. 【ElasticSearch】什么是ES?ES的安装
  5. 波兰女诗人辛波丝卡Love at First Sight《一见钟情》中英文完整对照
  6. c# textBox中只能输入数字及ABCDEF六个大写字母,小写字母自动转换为大写字母
  7. C#【控件篇】TextBox中只能输入16进制数的格式(长度:2,字母只能是大写)
  8. PHP fread,PHP fread文件指针位置
  9. 第14周翻译:Stairway to Transaction Log Management in SQL Server, Level 5: Managing the Log in Full Recov
  10. buu RSA what 1