ribbon和nginx负载均衡图解

通俗来说

nginx:

规定一个地址v(比如v代理了地址a,b,c,d且他们都实现了同一个服务e),然后当我们的请求想要实现e服务而去请求v的时候,v实际上就会从a,b,c,d中选一个来让他们给请求者提供服务。

ribbon:

在请求服务的时候,先获得注册中心(比V地址上有一个nacos而此nacos在,a,b,c,d四个地址上有服务注册了 )上的服务的列表(此处就获得地址列表a,b,c,d),然后从中选一个来为请求提供服务。

也就是说,nginx是服务器端帮请求选服务,而ribbon是请求端帮请求选服务

注:因为nginx是一个反向代理服务器,在配置的时候,就已经给nginx配置了一些服务地址,所以不需要去访问一个nacos来获得服务列表。所以ribbon需要去访问一个nacos来获得服务列表,而nginx不需要

nginx图解:

(当然,你也可以把这一组的A服务换成几个注册的服务的功能完全相同的Nacos,然后在请求A处把A配置为Nacos服务发现源,这样可以在nginx实现负载均衡的同时,让请求A用"d+服务名"的格式访问到服务)

ribbon图解:

注:无论是ribbon还是nginx的图解中,举例中的几个相同的a服务或几个相同的b服务,只是代表一组,功能相同的服务,并不是说,他们名字呀什么都相同,想表达的是他们是一组功能相同的服务

相关推荐
痕迹运维1 小时前
Nginx SFTP代理
nginx
用户3126874877202 小时前
ConcurrentHashMap 怎么保证线程安全?从分段锁到 CAS+synchronized
java
BreezeJiang2 小时前
为什么生成了 dist,项目还是可能跑不起来?从一个 React + Express + MySQL 项目看部署闭环
nginx·react.js
vipxieliang2 小时前
ValidX vs Apache Commons Validator:功能与性能对比
java·spring boot
SimonKing2 小时前
升级Spring Boot 4后,从 Jackson 2 到 3,到底有哪些变化
java·后端·程序员
Darling噜啦啦2 小时前
前端到上线全流程:从买服务器到 Nginx 反向代理,搞懂全栈部署
nginx·全栈
吃饱了得干活3 小时前
一篇讲清楚Spring Boot:自动装配、启动器、过滤器、拦截器、设计模式
java·spring boot·后端
烬羽3 小时前
我把"时间胶囊"部署上腾讯云宝塔,跨域从根源消失了
nginx·node.js·全栈
lhldsg4 小时前
AI零售系统实战指南:从架构设计到落地部署全解析
java·人工智能·小程序·uni-app·零售
Interview Aid1124 小时前
TikTok OA 四题分享|半小时内 AC,题目基本都是实现题
java·开发语言·算法·面试·职场和发展