我们假设在地球的某个角落,有一个网站服务提供商Inernet Content Provider.在相距十万八千里的另外一个地方,有个兄弟心血来潮,想访问网站业务。
然后,惊人的一幕发生了:由于通讯距离过长,导致网页卡的要死,甚至一张图片加载时间都达到了2、3秒,更别提加载视频了。
试问,这样的网站还能对全球用户提供业务访问服务吗?
估计也只能对距离比较近的用户来服务,类似于城域网内的局部业务来运营了。
那如果雄心勃勃的老板不死心,还想对更多的用户服务,赚更多的钱,怎么办呢?
或许有人会说:“那就建设更多的资源池,至少一个中心节点,下属多个边缘节点。”类似于下面这样的。
想法是很好的,可是,钱呢?
资源池建设的成本是非常巨大的,单台服务器大概10万(好的不止),网线、交换机、路由器、IDC机房、机架、用电、运维人力….
要耗费很多很多money!
可是,业务还是要发展的。有困难要上,没有困难创造困难也要上!
这时候,你需要知道一点CDN。
CDN是什么?
就有一帮有钱的金主,看中了服务器租赁的商机。于是,豪掷千金在全球多个国家,或者在某个国家的多个地方建设了很多很多的资源池。然后,将这些资源池的某些服务器租赁给需要拓展业务,又没有足够资金建设边缘节点的老板们。
这些财大气粗的金主,就是CDN服务商。
CDN的英文全称是Content Delivery Network,内容分发网络。简单说,就是把中心节点的内容分发到众多靠近用户的边缘节点,让用户可以就近访问某些业务,加快访问速度,提高Internet Content Provider的服务效率。
在CDN服务中,往往中心业务节点是某个互联网公司的,众多的边缘节点是CDN服务运营商的。
CDN能做什么?
CDN的核心目的就是:依托靠近用户近的天然优势,当用户需要请求某项业务时,优先请求最近的边缘节点。
通常情况下,互联网业务提供商都是把动态资源部署在CDN上。所谓动态资源,就是经常会变化的、经常会收到请求的资源,如服务器时间。与之相对的,便是静态资源,便是那些几乎“千年不变”的资源类型。
比如:某个业务,中心资源在部署在上海,如果甘肃兰州的用户要访问网络,首先为访问兰州附近的节点。如果兰州节点有他想要的资源,便第一时间处理并返回结果。
如果没有,再向中心节点要数据,返回给客户;同时,兰州节点会将访问到的数据在本地存储,以便在下一次收到请求时,可以直接读取并返给用户。
CDN运营商有哪些?
前面说过了,CDN运营商是要全国或者全世界到处建边缘资源池的,还要提供专业的运维团队。说起来都是有钱人的游戏,门槛极高。
那知名的CDN运营商都有哪些呢?
在国内,数得着的有阿里云、腾讯云、UCloud、百度云、蓝汛、网宿等,还有三大通讯运营商(移动、电信和联通)。
国外的CDN具巨头有CloudFlare、StackPath、Akamai、Fastly、CloudFront、Edgecast、CDNetworks、CacheFly、Keycdn和CDN77等等,小伙伴们可以自行百度了解详细信息。
总结
以上是对CDN网络的简要介绍,CDN的应用非常广泛,可以用在图片大文件、小文件下载、直播流媒体、视音频点播、全站加速、安全加速。
另外,CDN网络还具备负载均衡、容灾的策略,比如一个边缘节点因为事故停止运行了,会自动切换到距离用户相对较近的另外一个边缘节点,提供高效的网络服务。