技术原理解说见另一文:https://blog.csdn.net/jiangyu1013/article/details/88795690
内容分发网络
(英语:Content delivery network或Content distribution network,缩写:CDN)
是一种透过互联网互相连接的计算机网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、影片、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。
内容分发网络的总承载量可以比单一骨干最大的带宽还要大。这使得内容分发网络可以承载的用户数量比起传统单一服务器多。也就是说,若把有100Gbps处理能力的服务器放在只有10Gbps带宽的数据中心,则亦只能发挥出10Gbps的承载量。但如果放到十个有10Gbps的地点,整个系统的承载量就可以到10*10Gbps。
同时,将服务器放到不同地点,可以减少互连的流量,进而降低带宽成本。
对于TCP传输而言,TCP的速度(throughput)会受到延迟时间(latency)与数据包漏失率(packet loss)影响。为了改善这些负面因素,内容分发网络通常会指派较近、较顺畅的服务器节点将数据传输给用户。虽然距离并不是绝对因素,但这么做可以尽可能提高性能,用户将会觉得比较顺畅。这使得一些比较高带宽的应用(传输高清画质的影片)更容易推动。
内容分发网络另外一个好处在于有异地备援。当某个服务器故障时,系统将会调用其他邻近地区的服务器服务,进而提供接近100%的可靠度。
除此之外,内容分发网络提供给服务提供者更多的控制权。提供服务的人可以针对客户、地区,或是其他因子调整。
内容分发网络节点会在多个地点,多个不同的网络上摆放。这些节点之间会动态的互相传输内容,对用户的下载行为最优化,并借此减少内容供应者所需要的带宽成本,改善用户的下载速度,提高系统的稳定性。
内容分发网络所需要的节点数量随着需求而不同,依照所需要服务的对象大小,有可能有数万台服务器。
服务器的工作方式一般是基于nginx的模式,也就是仅仅缓存网站的静态内容,不过,随着今年(2017)来世界各地CDN服务商纷纷推出HTTPS加速功能,工作方式也变得略有不同,变成了nginx+SNI(一个CDN节点上可以借此技术绑定N个域名),同时,BGP anycast技术也逐渐引入了CDN领域中。
因部署或租用机房带来的多方面高昂成本和管理压力,学界和业界也研究了将P2P技术融入CDN部署和管理的技术,以降低运营成本和通信时延[1][2][3][4][5]。中国大陆的迅雷、优酷、百度、阿里巴巴等公司就在2010年代多次试水用户端运行的P2P众包类CDN服务、专用设备,模式为用户自愿以PC或专用设备利用闲置上行带宽充当CDN缓存节点,提供服务并赚取积分,而积分可兑换现金红包、特定商品或服务[6][7][8][9][10]。
转自 wiki百科:https://zh.wikipedia.org/wiki/%E5%85%A7%E5%AE%B9%E5%82%B3%E9%81%9E%E7%B6%B2%E8%B7%AF