Ribbon负载均衡与内核原理

什么是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.rhkb.cn/news/387651.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FFmpeg研究

1.FFmpeg介绍 FFmpeg的全称是“Fast Forward Moving Picture Expert Group”,组件由命令行应用程序和函数库两部分组成。通俗概括来说,FFmpeg 是一个免费的开源程序库,一个多媒体音视频处理分析工具软件,且提供命令行方式调用&am…

C语言笔记38 •数据结构--队列•

数据结构--队列 1.队列的定义 队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有 先 进先出 FIFO(First In First Out). 入队列:进行插入操作的一端称为 队尾 出队列:进行删除操作的…

Jmeter混合压测(2407)

一 压测需求: 电商作为服务端,至少需要满足并发量,QPS:100/s,TPS:20/s。例如场景: 电商交易中,商品图片请求量最多,电商服务端需要满足并发请求查询图片信息。各家可能会并发请求同一家电商商品、订单等内容。 二 压…

基于多种机器学习算法的短信垃圾分类模型

文章目录 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主导入第三方库读取数据数据预处理数据分析与可视化机器学习建模贝叶斯逻辑回归支持向量机随机森林XGBoost总结每文一语 有需要本项目的代码或文档以及全部资源,或者部署调试可以私…

redis集群三种模式

redis 集群 高可用 redis集群三种模式 主从复制 奇数台 3 一主两从 哨兵模式 3 一主两从 cluser 集群 6 3 3 3 9 主从复制:和mysql的主从复制类似,写入主的数据通过rdb方式把数据同步到从服务器。从不能更新到主,…

未来不会使用 AI 的人真的会被淘汰吗?

AI 是今年大火的一个话题,随着 ChatGPT 之类的一系列大模型开始流行以后,有不少的培训机构宣称这样的口号: “未来不会使用 AI 的人将会被淘汰”。我觉得这个观点本身并没有错,但是关键在于那些培训机构出于自身的利益,故意忽略了…

内存问题检测

内存检测方式 gcc/g 内存检测方式如下,添加一些编译标签: -fsanitizeleak 检测内存泄漏。例如添加标签:-fsanitizeleak -g -O0-fsanitizeaddress 检测内存越界。例如添加标签:-fsanitizeaddress -g -O2,优化级别开…

02 I/O多路复用---进程的聊天

服务器同时和很多客户端连在一起 管道的read,总是能读出来

前后端分离开发遵循接口规范-YAPI

目前,网站主流开发方式是前后端分离。因此前后端必须遵循一套统一的规范,才能保证前后端进行正常的数据(JSON数据格式)请求、影响,这套规范即是 YAPI. 产品经理撰写原型; 前端或后端撰写接口文档。 YAPI…

Android高级interview

一、Android基础知识 1、四大组件、六大布局、五大存储 四大组件: activity、service、content provider、broadcast六大布局(现在是 7 大了): 线性布局(LinearLayout)相对布局(RelativeLayout&#xf…

替换后端国外身份目录服务,宁盾身份域管接管FileNet助力国产化升级

IBM FileNet 是一款优秀的企业内容管理解决方案,为客户提供了领先的文档管理和流程管理集成环境,被大量企业所采用。FileNet 需要使用企业级的目录服务器(LDAP)作为其用户管理系统,满足其认证和授权的需求。对于 LDAP …

成为git砖家(4): git status 命令简介

1. untracked 和 tracked 状态 Remember that each file in your working directory can be in one of two states: tracked or untracked. Tracked files are files that were in the last snapshot, as well as any newly staged files; they can be unmodified, modified, o…

zabbix使用脚本自定义监控项

1. 在zabbix_agent的配置文件中配置自定义key和脚本位置 vim /etc/zabbix/zabbix_agentd.confUserParametermq_check_log,/etc/zabbix/zabbix_agentd.d/mqlog.shmq_check_log:是这个自定义参数的名称。在Zabbix的监控项(item)配置中&#xf…

点菜吧——随便点 C#生成套餐

前言 一到食堂发现有多种选择,但是有一个固定的套路,只能是一个荤,二个小荤,菜品数量也不少,任君选择,如果是一个选择困难症,就有点烦了,所以出品这个自动生成套餐软件。各位老板可…

代码随想录算法训练营Day 63| 图论 part03 | 417.太平洋大西洋水流问题、827.最大人工岛、127. 单词接龙

代码随想录算法训练营Day 63| 图论 part03 | 417.太平洋大西洋水流问题、827.最大人工岛、127. 单词接龙 文章目录 代码随想录算法训练营Day 63| 图论 part03 | 417.太平洋大西洋水流问题、827.最大人工岛、127. 单词接龙17.太平洋大西洋水流问题一、DFS二、BFS三、本题总结 82…

在手机查看笔记本电脑上的便签 笔记本电脑和手机共享便签方法

在这个信息时代,笔记本电脑已成为我们工作和学习中不可或缺的工具。我经常在笔记本上记录各种便签,无论是工作中的待办事项,还是生活中的小提醒,都依赖于这些小小的便签。它们轻便、灵活,可以随时随地提醒我接下来要做…

TongHttpServer 简介

1. 概述 随着网络技术的飞速发展,高并发大用户场景越来越普遍,单一应用服务节点已经不能满足并发需求,为了提高整个系统可靠性,扩展性,吞吐率,通常将多个应用服务器通过硬负载/软负载组成集群,负载均衡器根据不同负载算法将请求分发到各个应用服务器节点。 Tong…

花几千上万学习Java,真没必要!(三十六)

1、File类: 测试代码1: package filetest.com; import java.io.File; import java.io.IOException; public class FileOperations { public static void main(String[] args) { // 创建新文件File file new File("example.txt"); tr…

Prometheus+Grafana+Alertmanager监控告警

PrometheusGrafanaAlertmanager告警 Alertmanager开源地址:github.com/prometheus Prometheus是一款基于时序数据库的开源监控告警系统,它是SoundCloud公司开源的,SoundCloud的服务架构是微服务架构,他们开发了很多微服务&#xf…

TCP为什么需要四次挥手?

tcp为什么需要四次挥手? 答案有两个: 1.将发送fin包的权限交给被动断开方的应用层去处理,也就是让程序员处理 2.接第一个答案,应用层有了发送fin的权限,可以在发送fin前继续向对端发送消息 为了搞清楚这个问题&…