还记得多年以前用iPhone 4、iPhone 4S的时候有多少用户抱怨过App Store下载速度太慢了的事情吗?究其原因其实是当时苹果在国内没有全面的CDN覆盖,那么什么是CDN呢?
CDN,全称内容分发网络(Content Delivery Network),你可以简单地将其理解成一个离你很近的、可以从上面获取到完整的原始数据的服务器,它会定期和拥有原始内容的服务器进行同步,保证用户可以从上面获取到最新的内容。
那么为什么CDN可以大幅提高下载速度呢?
首先在一般情况下,CDN服务器要比原始内容服务器更靠近用户端,在网络距离上面变短了,连接到CDN服务器要比连接到原始服务器轻松,并且连接质量更好,比如说原本我们要连接的内容服务器在国外,因为出口带宽有限等原因,我们的连接质量很差、下载速度很慢,这时如果在国内有一台拥有同样内容的服务器,我们就可以连接到这台位于国内的服务器上面,以更快的速度获取内容。
图片来自于Cloudflare
其次CDN提高了整体的带宽,比如原先100个人连接到一台带宽为10Gbps的服务器上面进行下载,平均每个用户只能分到0.1Gbps的带宽,速度太慢了;而在使用CDN之后,原先一台服务器变成了多台拥有相同内容的服务器,用户被分散到不同的服务器上面去进行下载,平均每个用户能够分到的带宽就会得到明显的提高。
如果还不能够理解什么是CDN的话,这里再用一个与网络无关的例子来说明:有两家除了位置其他完全一致的全家,一家比你住所要近,另一家要远,那么你会选择去哪一家?答案非常明显,正常人都会跑去近的,而CDN服务器就是离你近的那家全家。
随着互联网的发展,几乎所有内容提供方,不管是做网站的还是做游戏、软件的,都会涉及到CDN技术,它可以有效提升我们上网冲浪的体验,最明显的可能就是我们现在去App Store更新应用再也不会喊卡了,因为苹果在国内部署了非常全面的CDN。