当前位置: 首页 > 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/news/292542.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++ 设计模式——解释器模式
  • 免费OCR 文字识别工具
  • 【机器学习】神经网络、隐藏层的基本概念、如何选择隐藏层数量以及胶囊网络对神经网络的影响
  • PowerShell脚本编写:自动化Windows开发工作流程实例介绍
  • 2024年全国大学生数学建模C题解题思路
  • 第 2 章:AJAX 的使用
  • C++:类型转换
  • 12、Flink 解决流上的确定性最佳实践
  • 使用视图方式操作MySQL数据表
  • Java笔试面试题AI答之JDBC(1)
  • C语言-数据结构 无向图普里姆Prim算法(邻接矩阵存储)