我是靠谱客的博主 清脆咖啡,最近开发中收集的这篇文章主要介绍API 网关 vs 负载均衡 vs 反向代理 - 学习/实践1.文档阅读2.整理输出,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.应用场景

主要用于学习和弄清楚API 网关 vs 负载均衡 vs 反向代理之间的区别,以及如何使用它们。

2.学习/操作

1.文档阅读

负载均衡器/LB - 学习/实践_穿素白衫的中少年的博客-CSDN博客_lb组件

PHP使用Nginx实现反向代理,学一学吧

What is a Reverse Proxy vs. Load Balancer? - NGINX

https://medium.com/@LadyNoBug/api-gateway-vs-load-balancer-5bbb2c6f0850

dns - Load balancer and API Gateway confusion - Stack Overflow

2.整理输出

2.1 负载均衡「4层或7层」

负载均衡器/LB - 学习/实践_穿素白衫的中少年的博客-CSDN博客_lb组件

反向代理服务器和负载平衡器是客户端-服务器计算架构中的组件。两者都充当客户端和服务器之间通信的中介,执行提高效率的功能。它们可以作为专用的专用设备来实现,但在现代 Web 架构中,它们越来越多地成为在商品硬件上运行的软件应用程序。

基本定义很简单:

  • 反向代理接受来自客户端的请求,将其转发到可以完成它的服务器,并将服务器的响应返回给客户端。
  • 负载平衡器在一组服务器之间分配传入的客户端请求,在每种情况下将来自所选服务器的响应返回给适当的客户端。

但它们听起来很相似,对吧?这两种类型的应用程序都位于客户端和服务器之间,接受来自前者的请求并传递来自后者的响应。难怪人们会混淆什么是反向代理与负载均衡器。为了帮助将它们区分开来,让我们探讨一下它们通常何时以及为何部署在网站上。

负载均衡:包含服务端负载均衡器 和 客户端负载均衡器,不过通常我们说的都是服务端负载均衡器,

但是客户端负载均衡器应该作为辅助,甚至是主导,技术方案只有合适,没有最好之分,应该灵活应变处理。

2.2 反向代理

部署负载均衡器仅在您拥有多台服务器时才有意义,而部署反向代理通常是有意义的,即使只有一台 Web 服务器或应用程序服务器也是如此。您可以将反向代理视为网站的“公众形象”。

它的地址是网站的广告地址,它位于网站网络的边缘,接受来自网络浏览器和移动应用程序对网站托管内容的请求。

好处有两方面:

提高安全性——在内部网络之外看不到有关后端服务器的信息,因此恶意客户端无法直接访问它们以利用任何漏洞。许多反向代理服务器包含有助于保护后端服务器免受分布式拒绝服务(DDoS) 攻击的功能,例如通过拒绝来自特定客户端 IP 地址的流量(列入黑名单)或限制从每个客户端接受的连接数。
 

提高可扩展性和灵活性——因为客户端只能看到反向代理的 IP 地址,您可以自由更改后端基础架构的配置。这在负载平衡的环境中特别有用,您可以向上和向下扩展服务器的数量以匹配流量的波动。


部署反向代理的另一个原因是Web 加速 ——减少生成响应并将其返回给客户端所需的时间。

Web 加速技术包括以下内容:

压缩——在将服务器响应返回给客户端之前压缩它们(例如,使用gzip)减少了它们所需的带宽量,从而加快了它们在网络上的传输速度。


SSL 终止 – 加密客户端和服务器之间的流量可以保护它,因为它穿过 Internet 等公共网络。但是解密和加密的计算成本可能很高。通过解密传入请求和加密服务器响应,反向代理可以释放后端服务器上的资源,然后他们可以将这些资源用于其主要目的,即提供内容。
 

缓存 ——在将后端服务器的响应返回给客户端之前,反向代理会在本地存储一个副本。当客户端(或任何客户端)发出相同的请求时,反向代理可以自己从缓存中提供响应,而不是将请求转发到后端服务器。这既减少了对客户端的响应时间,又减少了后端服务器的负载。

2.3 API网关 「7层-应用层」

也叫做应用层网关

参见下面的截图

简单说

API网关 用于管理 API 操作以无缝扩展 API 基础设施。

它负责访问控制、响应缓存、响应类型、授权、身份验证、请求限制、数据处理、根据自定义规则识别正确的目的地以及无缝扩展后端。默认情况下,一般托管 API 网关,带有可扩展的基础设施,因此将它们放在负载均衡器后面可能没有意义。

「个人观点」

最后一句话,过于绝对,我们明白,负载均衡,指责单一,就是为了流量均衡负载, 如果API网关本身也是一个集群,那么自然也需要负载均衡,同时即便在API网关后面,web/应用服务器,集群化部署,自然也需要负载均衡,所以,结果很可能就是:

DNS「本身也可以做负载均衡」--> 负载均衡 --> API网关 --> 负载均衡 --> 后端服务「内部可能还有负载均衡

所以,不要将一些概念,技术独立起来,应该结合思考和应用。

后续补充

...

3.问题/补充

1. stackoverflow上有人提出相关的问题,也就是上面的截图,

说明,这确实是一个令人困惑的问题

4.参考

参见上面文档列表

后续补充

...

最后

以上就是清脆咖啡为你收集整理的API 网关 vs 负载均衡 vs 反向代理 - 学习/实践1.文档阅读2.整理输出的全部内容,希望文章能够帮你解决API 网关 vs 负载均衡 vs 反向代理 - 学习/实践1.文档阅读2.整理输出所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部