网站流量不是恒定的。例如,像Netflix这样的内容流媒体服务,在热门剧集的新剧集发布时,其流量会飙升。
这种需求激增给负责向客户提供内容的服务器带来了很大压力。 因此,内容流媒体服务在发布预期节目时面临几个问题。
那么,当网站收到的流量成倍增加时,它们如何即时扩展?嗯,他们使用反向代理来平衡网站的流量--但什么是反向代理,反向代理是如何工作的?
你的电脑是如何连接到网站的?
在讨论反向代理之前,重要的是要了解你的计算机如何连接到互联网上的网站。
简单地说,互联网只不过是一组相互通信的计算机。即使你连接的网站也是一台计算机,其硬盘上存储着网站数据。这台计算机被称为服务器,因为它向其他计算机提供他们在互联网上想要的内容。
因此,当你在你的计算机上打开一个网站时,你所做的就是与另一台连接到互联网的计算机进行通信。
也就是说,要连接到网站,您的设备需要知道服务器的位置。 此信息由服务器的 IP 地址提供给您的设备。 为了获取这些信息,网站的 URL 使用 DNS 解析转换为其 IP 地址,有效地将 URL 中的字母替换为网站的特定 IP 地址。 请注意,这是 DNS 工作原理的极其简化的版本。
一旦你的浏览器有了IP地址,它就会使用安全超文本传输协议(HTTPS)发送请求,而服务器会将数据发送到你的系统。
在接触代理之前,需要了解的另一件事是,网站使用遍布全球的几个服务器来发布其内容。此外,公司不是使用单一的计算系统来运行所有的网站功能,而是使用微服务架构,不同的计算单元执行不同的任务。由于这个原因,一个网站不能被看作是一个单一的计算机;相反,它是一组计算机一起工作,以最快的方式向客户提供内容。
什么是代理?
代理是位于服务器和发出请求的计算机(客户端)之间的计算设备。简单地说,代理只不过是你和网站之间的一个中间人。但为什么需要这个中间人呢?
嗯,你看,当你访问一个网站时,你连接的电脑会收到关于你系统的所有细节。这些数据包括你的IP地址,cookie数据,以及你系统的硬件/软件细节。
服务器请求上述数据以了解网站需要如何在你的电脑上显示。
虽然这些信息对网站的正常工作至关重要,但它使公司能够在网上跟踪你,消除你的隐私。为了解决这个问题,需要使用前向代理。
顾名思义,前向代理是一种计算设备,它收集来自客户端的请求并将其发送到服务器。由于这种架构,服务器认为这些请求是由代理发出的,从而使你的隐私保持不变。
也就是说,还有另一种类型的代理,与服务器紧密合作,同样被称为反向代理。
什么是反向代理,它是如何工作的?
正如正向代理一样,反向代理也解决了一个问题。然而,这个问题与服务器有关。简而言之,与前向代理相比,反向代理以完全相反的方式工作。
基本上,反向代理收集所有向服务器发出的请求。一旦被拦截,反向代理就会将请求发送到带有你正在寻找的数据的服务器。由于这个原因,反向代理可以管理登陆网站的流量。
这种设计架构解决了分发内容时的一个大问题。你看,如果一个服务器在短时间内收到过多的请求,它就无法处理这些请求,客户就无法访问他们正在寻找的网站。
反向代理通过监测向服务器发出的请求数量并试图在不同的服务器之间进行平衡来解决这个问题。
反向代理的优势
除了管理来自不同客户的请求外,反向代理还提供了几个优点。
缓存
除了管理从客户端收到的流量外,反向代理还可以用来存储经常请求的数据。由于这一点,代理不需要请求服务器来获取数据。相反,它可以从其本地缓存中提供数据。这种方法是在提供静态网页(如本文)时使用的。
每当用户想要访问一个网页时,客户端就会向反向代理发出一个请求。在这个反向代理中坐着内容管理系统,负责在服务器上寻找内容并将其发送给用户。在传统方法中,内容管理系统将不得不连接到保存数据的MySQL数据库,从而增加了网页的访问时间。
为了解决这个问题,反向代理在本地存储流行的网页。由于这个原因,代理可以直接向用户发送数据,而不需要连接到服务器,提高网站性能。
安全问题
当反向代理到位时,它是你的网站的脸。因此,攻击者无法直接访问网站的内部服务器。此外,反向代理可用于抵御DDoS攻击。为此,反向代理可以查看试图进行DDoS攻击的客户端的IP地址,并阻止其对服务器的访问。
更快的数据解密
互联网上的大多数网站使用HTTPS来安全地传输数据。由于这个原因,所有到达服务器的数据都是加密的。因此,服务器必须对收到的流量进行解密,并将数据提供给客户端。为了解决这个问题,可以使用反向代理来解密数据,减少服务器的负载。
全球服务器负载平衡
像Netflix、谷歌和亚马逊这样的流行网站在全球各地都有服务器。因此,当用户向这些网站发出请求时,它可以被路由到其任何一个服务器。如果请求被发送到离客户端很远的服务器上,网站的访问时间就会增加。为了解决这个问题,反向代理将客户端请求路由到最近的服务器,以提高网站的性能。
反向代理使你的互联网更快
反向代理位于客户端和服务器之间,帮助有效管理流量。不仅如此,反向代理还能提高服务器提供的安全性和可靠性。
也就是说,反向代理需要额外的处理能力和网络资源,此外,反向代理可能为网站创造一个单点故障。
版权声明:文章仅代表作者观点,版权归原作者所有,欢迎分享本文,转载请保留出处!