Ribbon负载均衡与内核原理

news2024/11/14 18:47:22

什么是Ribbon?

目前主流的负载方案分为两种:

  1. 集中式负载均衡,在消费者和服务提供方中间使用独立的代理方式进行负载,有硬件的(比如F5),也有软件的(Nginx)
  2. 客户端根据自己的请求做负载均衡,Ribbon就属于客户端自己做负载均衡。

Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端的负载均衡工具,Ribbon客户端组件提供一系列的完善的配置,如超时,重试等,通过Load Balancer获取到服务提供的所有机器实例,Ribbon会自动基于某种规则(轮询,随机)去调用这些服务。Ribbon也可以实现我们自己的负载均衡算法。

常见的负载均衡算法

随机:通过随机选择服务进行执行,一般这种方式使用比较少
轮询:负载均衡默认实现方式,请求来之后排队处理
加权轮询:对服务器性能的分型,给高配置,低负载的服务器分配更高的权重,均衡各个服务器的压力。
地址Hash:通过客户端请求的地址的Hash值取模映射进行服务器调度
最小链接数:即使请求均衡了,压力不一定会均衡,最小链接数就是根据服务器的情况,比如请求挤压数等参数,将请求分配到当前压力最小的服务器上。

什么是Spring Cloud LoadBalancer

Spring Cloud LoadBalancer是Spring Cloud官方提供的客户端负载均衡器,用来替换Ribbon

Spring官方提供了两种负载均衡的客户端

RestTemplate

RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问http服务的方法,能够大大提高客户端的编写效率。默认情况下,restTemplate默认依赖jdk的Http链接工具。

webclient是从spring webflux版本开始提供的一个非阻塞的基于响应式编程的进行http请求的客户端工具。他的响应式编程是基于reactor的。webclient中提供了标准的http请求方式对应的get,post,put,delete等方法,可以用来发起响应请求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1944734.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

transformers进行学习率调整lr_scheduler(warmup)

一、get_scheduler实现warmup 1、warmup基本思想 Warmup(预热)是深度学习训练中的一种技巧,旨在逐步增加学习率以稳定训练过程,特别是在训练的早期阶段。它主要用于防止在训练初期因学习率过大导致的模型参数剧烈波动或不稳定。…

力扣经典题目之->设计循环队列 的超详细讲解与实现

一:题目 二:思路讲解 前提: a:本文采取数组来实现队列去解决题目 b:开辟k1个空间,front指向队首,rear指向队尾的后一个,rear这样会更好的判空和判满 以下根据pop和push感受满和空…

python如何调用matlab python package库matlab转python安装包调用使用简单示例

说明(废话) 之前没有进行python调用过matlab,前面用matlab engine for python可以通过调用matlab的源码文件的形式可以调用工程,但是这又有一个问题,就是在运行的时候必须提供python和matlab的全部源码 该文章是通过matlab源码转python pack…

FPGA JTAG最小系统 EP2C5T144C8N

FPGA的文档没有相应的基础还真不容易看懂,下面是B站上对FPGA文档的解读(本文非对文档解读,只是为个人记录第三期:CycloneIV E最小系统板设计(一)从Datasheet上获取FPGA的基本参数_哔哩哔哩_bilibili 电源部份 核心电…

PlantUML 语法、图标和示例

基本语法 关键字 声明参与者的几个关键字 actor、boundary、control、entity、database、collections、participant 箭头样式 我们可以通过,修改箭头样式,来表达不一样的意思: 表示一条丢失的消息:末尾加 x让箭头只有上半部…

[UE 虚幻引擎] DTHmacSha 蓝图HMACSHA加密算法插件说明

本插件可以在虚幻引擎中使用蓝图对字符串和文件进行HMACSHA加密。 1.节点说明 HMACSHA一共有5种加密方式,分辨是 HMAC SHA-1, HMAC SHA-224,HMAC SHA-256,HMAC SHA-384,HMAC SHA-512。 本插件对每种加密方式提供3个节点…

C++初学者指南-6.函数对象--函数对象

C初学者指南-6.函数对象–函数对象 文章目录 C初学者指南-6.函数对象--函数对象函数对象示例:区间查询区间内的查找区间划分(分组) 指南标准库函数对象比较算术运算 函数对象 提供至少一个成员函数重载 operator() 的对象 class Multiplier {int m_; public:// cons…

MATLAB绘制方波、锯齿波、三角波、正弦波和余弦波、

一、引言 MATLAB是一种具有很强的数值计算和数据可视化软件,提供了许多内置函数来简化数学运算和图形的快速生成。在MATLAB中,你可以使用多种方法来快速绘制正弦波、方波和三角波。以下是一些基本的示例,展示了如何使用MATLAB的命令来实现正弦…

centos系统mysql主从复制(一主一从)

文章目录 mysql80主从复制(一主一从)一、环境二、服务器master1操作1.开启二进制日志2. 创建复制用户3. 服务器 slave1操作4. 在主数据库中添加数据 mysql80主从复制(一主一从) 一、环境 准备两台服务器,都进行以下操…

入门C语言Day15——关系条件逻辑操作符

今天来学习操作符中的一些内容,主要讲的是关系&条件&逻辑操作符 1.关系操作符 首先要来了解一下什么是关系操作符,关系操作符其实就是关系运算符,关系运算符又和关系表达式有关。 C语言中用于比较的表达式,就被称为 “关…

google、windows自带语音识别中英文等实时字幕使用

2、自带实时字幕 1)google浏览器自带 实时字幕 设置里可以设置: 有视频声音播放会弹出黑色文本框 下载其他语言包-比如中文: 测试 2)windows11 辅助功能 实时字幕 (直接快捷键打开:Win Ctrl L&#…

openmv学习笔记(24电赛笔记)

#opemv代码烧录清除详解 openmv的代码脱离IDE运行程序,只需要在IDE中将代码烧录道flash里面,断开IDE连接,上电之后,会自动执行main.py中的程序,IDE烧录的时候,会默认将程序后缀保存为 .py文件。 ​​​​​…

go语言day16 runtime包 临界资源 sync包

深入理解Java虚拟机到底是什么_java虚拟机是什么-CSDN博客 Golang-100-Days/Day16-20(Go语言基础进阶)/day17_Go语言并发Goroutine.md at master rubyhan1314/Golang-100-Days GitHub runtime 类似jvm,runtime包也提供了垃圾回收功能。 并且jvm实现了对线程创建销…

自动化网络爬虫:如何它成为提升数据收集效率的终极武器?

摘要 本文深入探讨了自动化网络爬虫技术如何彻底改变数据收集领域的游戏规则,揭示其作为提升工作效率的终极工具的奥秘。通过分析其工作原理、优势及实际应用案例,我们向读者展示了如何利用这一强大工具加速业务决策过程,同时保持数据收集的…

vuepress搭建个人文档

vuepress搭建个人文档 文章目录 vuepress搭建个人文档前言一、VuePress了解二、vuepress-reco主题个人博客搭建三、vuepress博客部署四、vuepress后续补充 总结 vuepress搭建个人文档 所属目录&#xff1a;项目研究创建时间&#xff1a;2024/7/23作者&#xff1a;星云<Xing…

Java响应式编程库Reactor的介绍和基本使用

关于响应式编程的概念和介绍可以参考: 响应式编程(Reactive Programming)是什么? Java语言中,RxJava和Reactor是实现响应式编程的两个最流行的库,因为 Spring 5 及更高版本中,Reactor 是 Spring WebFlux 的底层实现框架,用于构建响应式 Web 应用,所以相比而言,Reactor…

【docker】部署证书过期监控系统mouday/domain-admin

证书过期了再去部署证书容易被骂&#xff0c;就找了一个开源的证书过期系统来部署一下 过程 官方文档&#xff1a;https://domain-admin.readthedocs.io/zh-cn/latest/manual/install.html#docker 直接下载镜像是超时的&#xff0c;切换一下文档推荐的镜像源 新建docker配置…

WPF多语言国际化,中英文切换

通过切换资源文件的形式实现中英文一键切换 在项目中新建Language文件夹&#xff0c;添加资源字典&#xff08;xaml文件&#xff09;&#xff0c;中文英文各一个。 在资源字典中写上想中英文切换的字符串&#xff0c;需要注意&#xff0c;必须指定key值&#xff0c;并且中英文…

【QT】窗口|菜单栏|菜单项|工具栏|状态栏|浮动窗口

目录 ​编辑 QT窗口 窗口分类 菜单栏 创建菜单栏&#xff0c;菜单&#xff0c;菜单项 菜单栏 菜单 菜单项 添加分割线 添加槽函数 ​编辑 添加快捷键 工具栏 停靠位置 浮动属性 移动属性 添加快捷项 ​编辑 状态栏 ​编辑 添加标签 添加进度表 ​编辑…

【C语言】指针的神秘探险:从入门到精通的奇幻之旅 !

目录 C语言指针精讲1. 什么是指针&#xff1f;1.1 指针的内存模型1.1.1 指针演示输出 1.2 指针运算1.2.1 指针算术运算输出1.2.2 指针与数组的关系输出 1.3 指针类型1.3.1 不同类型的指针示例输出1.3.2 void 指针输出 1.4 指针与内存管理动态内存分配输出 1.5 指针与内存泄漏1.…