当前位置: 首页 > article >正文

Ribbon负载均衡底层原理

springcloude服务实例与服务实例之间发送请求,首先根据服务名注册到nacos,然后发送请求,nacos可以根据服务名找到对应的服务实例。

SpringCloudRibbon的底层采用了一个拦截器,拦截了openfeign发出的请求,对地址做了修改。用一幅图来总结一下:

基本流程如下:

拦截我们的RestTemplate请求http://userservice/user/1
RibbonLoadBalancerClient会从请求url中获取服务名称,也就是userservice
DynamicServerListLoadBalancer根据userservice到eureka拉取服务列表
eureka返回列表,localhost:8081、localhost:8082
IRule利用内置负载均衡规则,从列表中选择一个,例如localhost:8081
RibbonLoadBalancerClient修改请求地址,用localhost:8081替代userservice,得到http://localhost:8081/user/1,发起真实请求


http://www.kler.cn/a/292542.html

相关文章:

  • 删库跑路,启动!
  • HarmonyOS NEXT应用开发实战 ( 应用的签名、打包上架,各种证书详解)
  • css中的变量使用
  • 策略模式、状态机详细解读
  • C/C++语言基础--C++模板与元编程系列六,C++元编程相关库的讲解与使用
  • React中 修改 html字符串 中某些元素的属性
  • 配置阿里云千问大模型--环境变量dashscope
  • 基于Openface在ubuntu上抽取人脸图像
  • 02【SQL sever 2005数据库安装教程】
  • python学习第三节:创建第一个python项目
  • Python 数据分析— Numpy 基本操作(下)
  • 【大模型实战篇】大模型周边NLP技术回顾及预训练模型数据预处理过程解析(预告)
  • tkcalendar中的DateEntry
  • CLION+gdbserver远程调试postgresql源码
  • 前端Vue框架,本地数据库nedb
  • python 打包tkinter图标问题
  • fastadmin 文件上传七牛云
  • html中,想添加一段文字,使用什么标签最合理?
  • nginx的基本使用示例(负载均衡,虚拟主机,动静分离)的详细配置过程
  • 2024挖漏洞给报酬的网站汇总,兼职副业3天收益2k
  • 路灯线路电气安全存在的问题与防护措施
  • ARM基础知识
  • 使用C++编写接口调用PyTorch模型,并生成DLL供.NET使用
  • pytest 常用的辅助函数和工具函数
  • springboot 实现策略模式通过id进入不同的服务类service
  • C++ 设计模式——解释器模式