鼠年春节,一个特别的春节。受疫情影响,假期比往年长了一些。这么长时间宅在家中,想必大家除了睡觉,花费时间最多的就是“刷剧”了。今天讲的技术主题就和“刷剧”有关,它是CDN。
我们通过观察CDN的技术来看CDN的产业发展,就能看出CDN将是云计算不可分割的一部分。那么,CDN究竟是什么,和“刷剧”有什么关系?CDN有哪些分类?本文做一个细致的梳理。
CDN的全称是Content Delivery Network,即内容分发网络,也称内容传送网络。它是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率,能够解决因分布、带宽、服务器性能带来的访问延迟问题,适用于站点加速、点播、直播等场景。
百度智能云CDN国内节点分布图
到这里,相信你能明白为什么CDN和“刷剧”紧密相关。没有CDN,看剧就是“卡卡卡”;没有CDN,“刷剧”会变得毫无乐趣。
CDN实现的原理是什么?
传统的http访问过程是用户在浏览器填入要访问的域名;浏览器调用域名解析函数库对域名进行解析,以得到此域名对应的IP地址,并通过这个IP地址,向域名的服务主机发出数据访问请求,得到请求数据,最终返回所需要的内容。
CDN服务流程图
使用了CDN缓存后的网站访问过程:
2.浏览器调用域名解析库对域名进行解析,由于CDN对域名解析过程进行了调整,所以解析函数库一般得到的是该域名对应的CNAME记录,为了得到实际IP地址,浏览器需要再次对获得的CNAME域名进行解析以得到实际的IP地址;在此过程中,使用全局负载均衡 DNS解析,并根据地理位置信息解析对应的IP地址,使得用户能就近访问;
虽然我们刷剧看到的只是几秒甚至更短的等待时间,殊不知背后CDN有那么多“小动作”。
CDN如此重要,那如何构建一套CDN系统?
从功能组成看,典型的CDN系统由分发服务系统,负载均衡系统和运营管理系统组成:
百度智能云CDN服务架构图
每个部分各司其职,共同组成了CDN,这其中最核心的当属负载均衡系统,它是整个系统的大脑。
尽管CDN的组成看起来十分清晰明了,就三大部分,但实际情况并不是有了这三大件就万事大吉了。
CDN发展到今天已经不是这么简单的事情,不仅需要拼资源,还需要拼技术,这也是为什么今天主流CDN服务商已经都是大型云服务商的根本原因,CDN已经发展成为巨头之间的竞争。
以百度智能云为例,不仅CDN资源丰富,而且技术领先。具体来说,百度智能云CDN有四个方面的优势:
强大充足、弹性化的资源
百度智能云拥有遍布国内30多个省市1000+个优质加速节点,覆盖全球五大洲50+个国家的200+个节点分布。总带宽100T+带宽、单节点80G-160G、支持IPV6等高优特性。
百万域名精准调度
百度智能云CDN做到每周三次IP数据更新,对用户GPS完成大数据矫正;针对亿级用户作出高效的质量反馈,杜绝节点亚健康,故障容灾基本做到1分钟内快速切换。
高并发请求处理
采用Cache一致性hash和百度搜索等量级的HTTPS加速技术,高效简化完成请求热点突发检测与迁移,可以做到海量域名配置分钟级别的更新。
自研高性能Cache
结合分片存储、并行IO、分级缓存、合并回源等策略,基本保证1个文件仅进行1次回源。与此同时,针对源站状态实时监控,并且主备源站能够做到同时支持。
所有这些优势结合基于大规模实时流媒体计算集群和强大的音视频信号处理算法,百度智能云视频直播能给用户提供“清晰流畅、低时延、高并发”的音视频直播服务。
百度智能云CDN直播架构
CDN对视频直播的支撑
值得一提的是,百度智能云CDN已结合边缘计算技术,从内容分发Content Delivery向计算分发Computing Delivery转型。
将云计算的能力下沉和延伸至CDN节点,在距离上离终端用户更近,提供更“低延迟、大带宽”的边缘计算能力。在此基础上,发展出一种新型的分布式运算的架构,将原本完全由中心节点处理大型服务加以分解,切割成更小与更容易管理的部分,分散到CDN节点去处理,使数据的产生、采集、分析等流程都在更接近数据来源地完成处理。
由当前“云端协同”的CS架构演进为“云边端三体协同”的CES计算架构,满足“低成本、本地化”的计算需求场景。
针对视频场景,在视频内容分发的基础上,CDN上的边缘计算服务开放算力,支持客户灵活自定义分发的业务逻辑。包括加密、审核、调度等任务都能在边缘节点上进行,无需和源站进行交互。大幅度降低传输成本的同时,保证了低延迟,使得用户体验进一步提升。
同时和百度智能云CDN的完美结合,也能满足不同客户的定制化需求,实现计算型CDN能力开放,更好的支撑业务落地。