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 分钟前
Java 面试 100 题深度解析 · 专栏总览与大纲
java·面试
银迢迢4 分钟前
idea控制台中文乱码采用好几种方法一直解决不了
java·ide·intellij-idea
悦悦子a啊5 分钟前
将学生管理系统改造为C/S模式 - 开发过程报告
java·开发语言·算法
步步为营DotNet13 分钟前
深度解析C# 11的Required成员:编译期验证保障数据完整性
java·前端·c#
han_hanker26 分钟前
泛型的基本语法
java·开发语言
vx_bisheyuange1 小时前
基于SpringBoot的社区养老服务系统
java·spring boot·后端·毕业设计
廋到被风吹走1 小时前
【Java】Exception 异常体系解析 从原理到实践
java·开发语言
谷哥的小弟1 小时前
Spring Framework源码解析——GenericTypeResolver
java·spring·源码
sheji34161 小时前
【开题答辩全过程】以 基于Springboot的超市仓库管理系统设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
我命由我123451 小时前
Android 开发问题:在无法直接获取或者通过传递获取 Context 的地方如何获取 Context
android·java·java-ee·android studio·android jetpack·android-studio·android runtime