【架构-33】Ribbon、Nginx、Gateway之间的区别和联系

Ribbon

  1. 功能侧重:主要用于客户端的负载均衡。它是一个基于客户端的软件工具,在微服务架构中,帮助服务消费者(如一个微服务)去调用多个服务提供者(如其他微服务)时,能以某种负载均衡策略(如轮询、随机等)选择合适的服务提供者实例进行调用,从而实现服务调用的负载均衡。
  2. 使用场景:在微服务体系内部,当一个微服务需要调用其他多个相同功能的微服务时,Ribbon 能有效分配请求流量,提高系统的整体可用性和性能。例如,一个订单服务微服务需要调用多个库存服务微服务来查询库存信息,Ribbon 可以平衡这些请求到不同的库存服务微服务实例上。

Nginx

  1. 功能侧重:是一款高性能的反向代理服务器,也能用于负载均衡和 HTTP 服务器。作为反向代理,它接收来自外部网络的请求,将请求转发到内部网络中的真实服务器上,对客户端隐藏后端服务器的真实信息。在负载均衡方面,它可以将请求按照设定的策略(如轮询、IP 哈希等)均匀地分配到后端的多个服务器上,同时还能对静态资源进行高效的处理。
  2. 使用场景:在服务器的前端,作为接入层服务器,将外部请求转发到内部服务器集群。比如在网站架构中,将用户对网站的请求转发到后端的 Web 服务器或者应用服务器上,还可以用于处理大量的并发静态资源请求,减轻后端服务器的压力。

Gateway(Spring Cloud Gateway)

  1. 功能侧重:是一种基于 Spring 生态的网关服务,专注于 API 网关功能。它提供了路由、断言、过滤等功能。可以根据请求的路径、方法、头部等条件(断言)将请求路由到不同的后端服务,并且在请求传递过程中可以对请求和响应进行各种处理(过滤),如权限验证、请求日志记录等。
  2. 使用场景:在微服务架构中作为 API 网关,管理所有外部请求进入微服务系统的入口,对微服务进行统一的管理和保护。例如,外部客户端请求微服务系统中的某个服务,先经过 Gateway,由 Gateway 根据请求的特点决定将请求转发到哪个具体的微服务,同时可以在 Gateway 处进行安全认证等操作。
相关推荐
花椒技术1 小时前
AI 协同开发落地复盘:1 小时生成首版后,为什么 Review 和修正又花了 2-3 天
前端·人工智能·架构
Walter先生1 小时前
中金所股指期货主力合约自动识别:一个接口搞定 IF/IC/IH 连续合约合成
后端·websocket·架构·实时行情数据源
yongyoudayee1 小时前
AI CRM架构深度解析:销售易NeoAgent 2.0如何打破“AI+套壳“的技术困局
大数据·人工智能·架构
heimeiyingwang1 小时前
【架构实战】服务熔断与限流Sentinel:高可用服务的守护神
架构·sentinel
上海云盾第一敬业销售1 小时前
选择适合企业的高防CDN服务:架构解析与实践分享
安全·web安全·架构
momom2 小时前
分布式缓存集群高可用架构与一致性哈希优化实践
分布式·后端·架构
hhhhhaaa2 小时前
多节点矩阵式任务系统:统一配置中心与动态规则引擎架构设计
后端·算法·架构
heimeiyingwang2 小时前
【架构实战】分布式事务TCC模式:两阶段提交的工程艺术
分布式·架构
大江东去浪淘尽千古风流人物2 小时前
【Kimera】MIT SPARK 实时度量-语义 SLAM 全栈解析:VIO + 鲁棒 PGO + 语义网格四模块架构与 EuRoC 实测深度剖析
大数据·架构·spark
大江东去浪淘尽千古风流人物3 小时前
【Kimera-VIO】MIT SPARK 实时度量-语义 VIO/SLAM:六模块并行架构与智能因子图优化深度解析
大数据·架构·spark