龙空技术网

掌握负载均衡、反向代理、API 网关三者的区别

学堂湾 1102

前言:

现在小伙伴们对“反向代理的作用包括哪些方面的问题”都比较注意,同学们都需要分析一些“反向代理的作用包括哪些方面的问题”的相关资讯。那么小编在网摘上汇集了一些关于“反向代理的作用包括哪些方面的问题””的相关文章,希望看官们能喜欢,大家一起来学习一下吧!

在构建大型系统时,负载均衡、反向代理和API网关等概念经常会被提及。尽管这些术语有时可以互换使用,但它们各自承担着不同的职责和角色,对于理解和优化系统的性能至关重要。

负载均衡器

现代高流量网站面临着处理来自大量用户的并发请求的挑战。无论是提供文本、图像、视频还是应用程序数据,满足这些需求都需要大幅提高处理能力,这通常是通过添加更多服务器来实现的。为了最大限度地提高所有服务器的效率,传入的请求需要在它们之间进行分配。这种在一组后端服务器之间分配网络流量的过程称为负载均衡。下图展示了典型的负载均衡环境。

负载均衡是一个专用于负载均衡的软件组件,位于服务器前面。负载均衡有效地管理请求,确保快速服务。如果服务器崩溃,负载均衡会将流量重定向到其他活动服务器。当新服务器加入该组时,负载均衡会自动开始将请求路由到它。

此外,负载均衡可以配置为对注册的后端服务器执行健康检查。这些运行状况检查充当验证后端服务器可用性的测试。

负载均衡的优点在多个服务器之间有效地分配客户端请求或网络负载。通过减轻特定服务器上的负载来缩短响应时间。通过仅将请求定向到在线服务器来确保高可用性和可靠性。通过根据网络要求动态添加或删除服务器来促进可扩展性。能够及早检测故障,从而在不影响其他资源的情况下进行有效管理。提供 SSL 终止,通过处理 SSL 流量解密来减少 Web 服务器上的计算负载。通过额外的保护层增强安全性,保护系统免受分布式拒绝服务 (DDoS) 和其他类型的攻击。反向代理

反向代理充当客户端和服务器之间的中介。当代理将请求转发到相关服务器时,客户端仅与反向代理交互以到达后端服务器。这种机制隐藏了内部网络中各个服务器的实现细节。如下所示,反向代理位于源服务器前面,并确保没有客户端直接与该源服务器通信。

反向代理经常用于:

通过负载均衡进行负载分配。缓存——对于重复的请求,它可以独立响应,无论是部分还是全部。经常访问的内容存储在代理缓存中,减少了从后端获取数据的需要,并为客户端提供更快的响应。安全措施——它提供了实施防病毒或数据包过滤器等控制系统的选项。这些系统位于互联网和专用网络之间,为后端提供额外的保护。SSL 终止 — 可将其设置为解密传入请求并加密传出响应,从而释放宝贵的后端资源。

反向代理在 OSI 模型的第 7 层(应用程序层)发挥作用,在 HTTP 级别管理请求和响应。这使他们能够提供高级特性和功能。其中一项功能是 URL 重写、简化复杂的 URL 并增强 SEO。

反向代理的好处

通过实施反向代理,网站或服务可以维护其源服务器 IP 地址的机密性。这增加了一层安全保护,因为攻击者只能将攻击目标指向反向代理。反向代理更安全、资源更丰富,可以增强对网络攻击的防御能力。

API网关

将API 网关视为反向代理的扩展版本。 API网关不仅转发请求,还向客户端隐藏架构中的后端分区。它超越了简单的请求转发,可能参与编排或聚合。这简化了客户端代码并减少了 API 请求/往返次数。此外,客户端不与多个后端交互,而是仅与 API 网关通信。另一方面API网关涉及协议转换,其中 API 网关可以转换协议(例如,XML 到 JSON、gRPC 到 JSON)以促进客户端-服务器集成。 API 网关是解决安全性、可靠性、可扩展性、可观察性和可追溯性等各种基本功能的关键工具。

API网关的主要特点请求路由——将传入请求引导至相关服务。API组合——将多个服务组合成一个统一的API。速率限制 - 管理用户在定义的时间内可以向 API 发出的请求量。安全性——包含身份验证和授权等功能。集中管理——提供一个统一的平台来管理我们生态系统内的各个方面。分析和监控——实现全面的分析和跟踪功能。API网关内部步骤

在下图中,蓝色的块是 HTTP 请求所经历的步骤。黄色块是 API Gateway 在处理 HTTP 请求时提供的其他功能。

参数验证 - API 网关检查并验证 HTTP 请求中的属性。允许/拒绝列表 - API 网关判断允许/拒绝列表以进行请求验证。身份验证和授权 - API 网关通过身份提供商验证并授予授权。速率限制 — 执行速率限制规则,超过限制的请求将被拒绝。动态路由和服务发现 - API 网关使用路径匹配将请求定向到相关后端服务。协议转换——API网关将请求转换为合适的协议并将其中继到后端微服务。错误处理 - API 网关管理请求处理期间遇到的任何错误,以确保服务平稳降级。断路 — API 网关结合了断路等弹性模式来识别故障,防止互连服务过载并减轻级联故障。日志记录和监控——API 网关利用 ELK 堆栈 (Elastic-Logstash-Kibana) 等可视化工具,促进日志记录、监控、跟踪和调试。缓存 — API 网关可以选择缓存重复请求的响应,从而增强整体响应能力。三者之间的主要区别API 网关专门负责 API 管理,负载均衡器分配网络流量,反向代理确保安全请求转发。虽然 API 网关和反向代理都可以管理请求路由,但它们的核心目标有所不同。负载均衡器主要在传输层运行,而 API 网关和反向代理在应用层运行。

更多差异如下所示:

总结负载均衡器长分配网络流量,以增强可用性、可扩展性,甚至跨多个服务器的负载分配,通常应用于 Web 应用程序和服务。API 网关专注于微服务架构中 API 的管理、安全性和优化。它们的关键作用包括公开、保护和控制对 API 的访问。反向代理在安全性、性能优化和负载平衡方面都有应用。它们经常用于 Web 服务器、缓存解决方案,并作为应用程序交付网络的组成部分。

好了,今天的内容就分享到这里。若这篇文章能给您带来些许帮助或启发,请不吝关注我的头条号,并给予点赞、留言和转发。您的每一次支持,都是我继续创作的最大动力!感谢您的陪伴,期待与您共同成长。

标签: #反向代理的作用包括哪些方面的问题