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服务,只是代表一组,功能相同的服务,并不是说,他们名字呀什么都相同,想表达的是他们是一组功能相同的服务

相关推荐
niuniudengdeng4 分钟前
从小程序到 WebView:一个理发店管理系统的全栈架构设计与落地实践
java·python
味悲10 分钟前
HAProxy 负载均衡实战:从环境搭建到七层/四层/HTTPS 全解析
运维·https·负载均衡
LccKyI11 分钟前
C#基础编程 面试题汇总(二)
java·面试·c#
一晌小贪欢14 分钟前
Python办公17:暴力拆分——按页数或指定范围提取 PDF 核心页面
java·开发语言·python·pdf·excel·数据可视化·python办公
2401_8346369915 分钟前
Docker 容器化技术全解:从镜像构建到容器编排的完整教案1
java·docker·容器
jjjava2.021 分钟前
初步认识接口测试
java·可用性测试
吠品23 分钟前
TortoiseSVN 状态图标不显示的排查与解决办法
java·服务器·数据库
Yan_chen66628 分钟前
Vulhub 靶场:Tomcat8 弱口令与 WAR 包上传漏洞复现
java·网络安全·靶场·tomcat·文件上传漏洞
mldong30 分钟前
跨语言对齐方法论:参考实现先行 + 契约测试
java·架构