CDN 的重要特征之一是它能够在面对常见的网络问题(包括硬件故障和网络拥塞)时保持网站内容在线。通过负载平衡 Internet 流量、使用智能故障转移以及跨多个数据中心维护服务器,CDN 旨在规避网络拥塞并抵御服务中断。
什么是负载均衡?CDN如何负载均衡流量?
负载均衡器的目的是在多个服务器之间平均分配网络流量。负载平衡可以基于硬件或软件。CDN 使用数据中心中的负载平衡在可用服务器池中分配传入请求,以确保以最有效的方式处理流量峰值。通过有效利用可用资源,负载平衡能够提高处理速度并有效利用服务器容量。对传入流量进行适当的负载平衡是缓解非典型 Internet 活动期间(例如,当网站遇到异常大量的访问者或在分布式拒绝服务攻击期间)发生的流量峰值的关键组成部分。
当服务器资源的可用性上下波动时,CDN 还使用负载平衡来快速有效地进行更改。如果服务器发生故障并发生故障转移,负载平衡器将重定向为故障服务器分配的流量,并按比例将其分配给其余服务器。这通过增加硬件故障不会中断流量的可能性来提供弹性和可靠性。当数据中心有新服务器上线时,负载均衡器会按比例分担其他服务器的负载,提高新硬件的利用率。基于软件的负载平衡服务允许 CDN 快速扩展负载平衡容量,而不会出现使用物理负载平衡硬件时出现的瓶颈。
什么是故障转移?服务器之间如何进行 CDN 故障转移?
在需要高度可靠性和接近连续可用性的计算机系统中,故障转移用于防止在服务器不可用时丢失流量。当服务器出现故障时,需要将流量重新路由到仍在运行的服务器。通过自动将任务卸载到备用系统或具有可用容量的另一台机器,智能故障转移可以防止对用户的服务中断。
CDN 如何通过 Internet 可靠地提供内容?
CDN 就像一个 GPS 系统加上快速收费公路;CDN 将能够找到到达远方位置的最佳路径,并且能够使用自己的网络尽快找到到达那里的最佳路径。
当用户从诸如网页或 Web 应用程序之类的 Internet 属性加载内容时,会进行一系列连接以到达提供内容的位置。网络流量可以比喻为道路和高速公路系统;较小的地面街道将本地交通转移到同一地区,州际高速公路将交通转移到不同的州。当出现问题时,例如油罐车将主要路径上的州际高速公路的所有车道阻塞到不同的状态,交通必须找到另一条路径。就像穿越不同州的高速公路一样,交通通常必须跨越不同的网络才能到达最终目的地。如果特定网络中存在阻塞,则必须将流量重定向到不同的路径。此过程可能既耗时又低效。
假设旧金山的用户正在加载洛杉矶的网站。连接有很多步骤,但在此示例中,最重要的步骤之一是网络信号在前往最终目的地的途中通过位于圣何塞的电信提供商。当网络工程师不小心将咖啡倒在圣何塞的路由设备上时,提供商会离线,断开连接(发生了奇怪的事情)。当这种情况发生时,除非网络流量被重新路由以适应新的网络环境,否则用户将无法再加载他们的 Internet 内容。如果用户想要到达洛杉矶,现在需要通过不同的电信提供商提出请求。
现在流量不再能够通过预期的网络,它必须转而进入由不同组织维护的完全不同的网络。这种重新协商和切换网络的过程可能会在一个网络请求中发生多次,这样的实例可能会增加延迟,并可能将流量推到拥塞的路径上,从而导致延迟。一个足够大的 CDN 通常会通过将服务器放置在Internet 交换点 (IXP)和其他战略位置来控制自己的网络连接。这些优化的网络架构允许 CDN 提供商优化路由并减少延迟。
CDN 如何使用 Anycast 网络来提高可靠性?
一些 CDN 将使用Anycast路由方法将 Internet 流量传输到特定的可用数据中心。这样做是为了确保改进响应时间,并防止任何一个数据中心在出现异常需求(例如在 DDoS 攻击期间)时被流量淹没。
使用 Anycast,多台机器可以共享同一个IP 地址。当请求发送到 Anycast IP 地址时,路由器会将其定向到网络上最近的机器。如果整个数据中心出现故障或因流量过大而无法运行,Anycast 网络可以响应中断,类似于负载均衡器在数据中心内的多台服务器之间传输流量的方式;数据从故障位置路由出去,而是路由到另一个仍然在线且正常运行的数据中心。
DDoS 攻击是目前对 Internet 资产可靠性的最大威胁之一。使用 Anycast 的 CDN 在缓解 DDoS 攻击方面具有额外的灵活性。在大多数现代 DDoS 攻击中,许多入侵计算机或“机器人”被用来形成所谓的僵尸网络。这些受感染的机器可以产生如此多的互联网流量,以至于它们可以压倒典型的单播连接机器。借助 Anycast 网络,部分僵尸网络攻击流量可以分布在多个数据中心,从而减少攻击的影响。