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

相关推荐
CPU NULL14 分钟前
Redis相关知识点总结
java·数据库·spring boot·redis·缓存
晨晖218 分钟前
Spring Boot整合Spring MVC与外部配置完整笔记
java·spring boot·后端
沐浴露z40 分钟前
一张思维导图理清【操作系统】
java·linux·网络
2501_9167665444 分钟前
【Springboot】主配置文件
java·spring boot·后端
u***09641 小时前
后端服务熔断降级策略,错误率阈值 什么是服务熔断降级
java·开发语言
烤麻辣烫1 小时前
23种设计模式(新手)-3接口隔离原则
java·开发语言·学习·设计模式·intellij-idea
程序猿_极客1 小时前
【2025最新】 Java 入门到实战:数组 + 抽象类 + 接口 + 异常(含案例 + 语法全解析+巩固练习题)
java·开发语言·后端·java基础·java入门到实战
v***43171 小时前
spring.profiles.active和spring.profiles.include的使用及区别说明
java·后端·spring
艾莉丝努力练剑2 小时前
【C++:哈希表封装】用哈希表封装unordered_map和unordered_set
java·c++·stl·哈希算法·散列表·平衡二叉树·哈希
Moe4882 小时前
@SpringBootApplication 注解(Spring Boot 自动配置)详解
java·后端