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