鼠年春节,一个特别的春节。受疫情影响,假期比往年长了一些。这么长时间宅在家中,想必大家除了睡觉,花费时间最多的就是“刷剧”了。今天讲的技术主题就和“刷剧”有关,它是CDN。

我们通过观察CDN的技术来看CDN的产业发展,就能看出CDN将是云计算不可分割的一部分。那么,CDN究竟是什么,和“刷剧”有什么关系?CDN有哪些分类?本文做一个细致的梳理。

刷剧和CDN有什么关系?

CDN的全称是Content Delivery Network,即内容分发网络,也称内容传送网络。它是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率,能够解决因分布、带宽、服务器性能带来的访问延迟问题,适用于站点加速、点播、直播等场景。

百度智能云CDN国内节点分布图

到这里,相信你能明白为什么CDN和“刷剧”紧密相关。没有CDN,看剧就是“卡卡卡”;没有CDN,“刷剧”会变得毫无乐趣。

CDN是如何起作用的?

CDN实现的原理是什么?

传统的http访问过程是用户在浏览器填入要访问的域名;浏览器调用域名解析函数库对域名进行解析,以得到此域名对应的IP地址,并通过这个IP地址,向域名的服务主机发出数据访问请求,得到请求数据,最终返回所需要的内容。

CDN服务流程图

使用了CDN缓存后的网站访问过程:

1.用户向浏览器提供要访问的域名;

2.浏览器调用域名解析库对域名进行解析,由于CDN对域名解析过程进行了调整,所以解析函数库一般得到的是该域名对应的CNAME记录,为了得到实际IP地址,浏览器需要再次对获得的CNAME域名进行解析以得到实际的IP地址;在此过程中,使用全局负载均衡 DNS解析,并根据地理位置信息解析对应的IP地址,使得用户能就近访问;

3.此次解析得到CDN缓存服务器的IP地址,浏览器在得到实际的IP地址以后,向缓存服务器发出访问请求;

4.缓存服务器根据浏览器提供的要访问的域名,通过Cache内部专用DNS解析得到此域名的实际IP地址,再由缓存服务器向此实际IP地址提交访问请求;

5.缓存服务器从实际IP地址得到内容以后,一方面在本地进行保存,以备以后使用,另一方面把获取的数据返回给客户端,完成数据服务过程;

6.客户端得到由缓存服务器返回的数据后显示出来并完成整个浏览的数据请求过程。

虽然我们刷剧看到的只是几秒甚至更短的等待时间,殊不知背后CDN有那么多“小动作”。

如何构建CDN?

CDN如此重要,那如何构建一套CDN系统?

从功能组成看,典型的CDN系统由分发服务系统,负载均衡系统和运营管理系统组成:

百度智能云CDN服务架构图

  • 分发服务系统:最基本的工作单元就是Cache设备,cache(边缘cache)负责直接响应最终用户的访问请求,把缓存在本地的内容快速地提供给用户。同时cache还负责与源站点进行内容同步,把更新的内容以及本地没有的内容从源站点获取并保存在本地。Cache设备的数量、规模、总服务能力是衡量一个CDN系统服务能力的最基本指标。

  • 负载均衡系统:主要功能是负责对所有发起服务请求的用户进行访问调度,确定提供给用户的最终实际访问地址。两级调度体系分为全局负载均衡(GSLB)和本地负载均衡(SLB)。GSLB主要根据用户就近性原则,通过对每个服务节点进行“最优”判断,确定向用户提供服务的cache的物理位置。SLB主要负责节点内部的设备负载均衡。

  • 运营管理系统:分为运营管理和网络管理子系统,负责处理业务层面的与外界系统交互所必须的收集、整理、交付工作,包含客户管理、产品管理、计费管理、统计分析等功能。

每个部分各司其职,共同组成了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+边缘计算创新探索

值得一提的是,百度智能云CDN已结合边缘计算技术,从内容分发Content Delivery向计算分发Computing Delivery转型。

将云计算的能力下沉和延伸至CDN节点,在距离上离终端用户更近,提供更“低延迟、大带宽”的边缘计算能力。在此基础上,发展出一种新型的分布式运算的架构,将原本完全由中心节点处理大型服务加以分解,切割成更小与更容易管理的部分,分散到CDN节点去处理,使数据的产生、采集、分析等流程都在更接近数据来源地完成处理。

由当前“云端协同”的CS架构演进为“云边端三体协同”的CES计算架构,满足“低成本、本地化”的计算需求场景。

针对视频场景,在视频内容分发的基础上,CDN上的边缘计算服务开放算力,支持客户灵活自定义分发的业务逻辑。包括加密、审核、调度等任务都能在边缘节点上进行,无需和源站进行交互。大幅度降低传输成本的同时,保证了低延迟,使得用户体验进一步提升。

同时和百度智能云CDN的完美结合,也能满足不同客户的定制化需求,实现计算型CDN能力开放,更好的支撑业务落地。

刷剧和CDN的关系,你get了吗?了解更多有关百度智能云CDN产品的信息,请点击文末左下角【阅读原文】。

让你刷剧一直爽,CDN原理是什么丨技术前沿相关推荐

  1. cdn节点人少延迟高_让你刷剧一直爽,CDN原理是什么

    鼠年春节,一个特别的春节.受疫情影响,假期比往年长了一些.这么长时间宅在家中,想必大家除了睡觉,花费时间最多的就是"刷剧"了.今天讲的技术主题就和"刷剧"有关, ...

  2. ipad鼠标圆圈变成箭头_【附视频指南】iPad 只能刷剧?来看看我是如何把它武装成生产力工具的!...

    沙牛提示 本文首发于我的公众号"清单控沙牛". 阅读本文需要5分钟,我将告诉你如何把一台 iPad 武装成为电脑!文末有视频操作指南. 起因 前些天,我在朋友圈发布了一条这样的视频 ...

  3. 【CDN】CDN 原理和使用

    目录 一.CDN 是什么 二.CDN 由来 三.CDN 原理 3.1 概念 3.2 一般的 web 请求过程 3.3 CDN 加速的 WEB 请求过程 3.4 二者区别 四.CDN 分类 4.1 网页 ...

  4. HTTP/HTTPS及CDN 原理

    HTTP 是一个无状态的协议.无状态是指客户机(Web 浏览器)和服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后服务器返回响应(response),连接就被关闭了,在服务 ...

  5. OJ 1484小鱼的刷剧时光

    描述 小鱼每天都要坚持刷剧, 每部剧28集, 小鱼第一天刷1集, 第二天刷2集,第三天刷3集 ...... 第n天后小鱼刷到第几部剧? 输入 多组输入 输入一个 n (n < 1000 ) ; ...

  6. 问题1484:小鱼的刷剧时光

    小鱼的刷剧时光 描述 小鱼每天都要坚持刷剧, 每部剧28集, 小鱼第一天刷1集, 第二天刷2集,第三天刷3集 ...... 第n天后小鱼刷到第几部剧? 输入 多组输入 输入一个 n (n < 1 ...

  7. 来刷剧吧!这是一份专为程序员准备的剧集

    走进北京.上海.杭州等城市的地铁,随处可见抱着平板或者手机的"刷剧"一族.他们将剧集缓存至设备中,让自己放松和沉浸在光与影的世界里:不仅利用了通勤的时间,也舒缓了工作和生活带来的压 ...

  8. 顿悟 情绪,游戏,刷剧,追番与学习

    每次打完游戏/刷剧都很后悔,好像学习似乎就比以上这些辛苦些,但真的是这样嘛,不是,当我在学习的时候,我感到的是充实因为我确切地知道我在为未来努力,和游戏一样学习也一样,我看了几遍可能就是等于王者荣耀里 ...

  9. 嗨,躺在床上刷剧的你!

    在不了解问题产生的原因前,人总是喜欢将问题放大化!所以拿点时间了解问题产生的原因,这会使你更加睿智! 当问题超出你的认知时,请不要轻易怀疑自己,想想有没有其他外部因素触发该问题?做程序员这点自信还是要 ...

最新文章

  1. insert into 多条数据_最全总结 | 聊聊 Python 数据处理全家桶(Sqlite篇)
  2. 图解Linux系统启动流程
  3. [Everyday Mathematics]20150103
  4. python学习笔记(七)函数
  5. node --- 创建一个Socket服务器
  6. grub linux rootfs,rootfs文件系统(笔记)(草稿)
  7. 判断点是否在一个矩形内
  8. node.js 学习书籍推荐
  9. Linux由管道组成的值得学习的命令
  10. 【水果识别】基于matlab GUI HSV+RGB水果分类【含Matlab源码 380期】
  11. AnyLogic学习
  12. 【周博磊】强化学习纲要 一至六讲笔记
  13. 深度跳转-scheme
  14. 程序员搞什么副业好?
  15. 利用XML生成Word
  16. 修复计算机的英语怎么拼,电脑输入法不见了怎么恢复?手把手教你恢复电脑输入法的方法...
  17. Python实现将人脸表情数据集fer2013转化为图像形式存储本地
  18. STM32 -- 做一块自己的开发板(STM32F103C8T6)
  19. 【收藏】Mimics Lnnovation Suite之导出功能
  20. github语法使用

热门文章

  1. zabbix监控部署与设置报警发送邮件
  2. idea 激活码获取教程及常用命令
  3. 索玛立方体所有组合/排列,解决方案及代码实现
  4. 30岁以后,我不建议你再挣死工资
  5. Improving Transformer Optimization Through Better Initialization
  6. 字符串转化为数字的函数
  7. 【流体机械原理及设计02】
  8. 【嵌入式】蓝牙串口通信透传模块(HC-08)的使用
  9. 编译了一晚上的Free Cad 0.19+vs2019,终于成功了
  10. Android 获取联系人手机号码、姓名、地址、公司、邮箱、生日