苏州市住房城乡建设局网站,django mysql网站开发,企业年金在哪里查询,怎么管理网站数据库目录 0 引言1 为什么需要分布式的网络架构#xff1f;2 视频流化服务2.1 多媒体#xff1a;视频2.2 存储视频的流化#xff08;Streaming#xff09;服务2.3 流媒体传输协议#xff1a;DASH2.4 面临挑战#xff1a;服务器如何向上百万用户同时提供视频流化内容#xff1… 目录 0 引言1 为什么需要分布式的网络架构2 视频流化服务2.1 多媒体视频2.2 存储视频的流化Streaming服务2.3 流媒体传输协议DASH2.4 面临挑战服务器如何向上百万用户同时提供视频流化内容CDN2.5 CDN的一个简单应用案例2.6 真实CDN应用场景 Netflix网飞 ♂️ 作者海码007 专栏计算机四大基础专栏 其他章节网络快速入门系列、计网概述、计网应用层详解、计网Web和HTTP、计网FTP、计网EMail、计网DNS、计网P2P 标题【计网 CDN】计算机网络 CDNContent Delivery Network分布式网络架构详解中科大郑烇老师笔记 八❣️ 寄语人生的意义或许是可以发挥自己全部的潜力所以加油吧 最后文章作者技术和水平有限如果文中出现错误希望大家能指正 0 引言 CDN是一种分布式的网络架构上一章节讲的P2P也是一种网络架构接下来总结一下其他的网络架构有哪些 P2PPeer-to-Peer网络P2P网络是一种分布式网络架构其中每个节点都可以充当客户端和服务器。在P2P网络中节点之间可以直接通信和共享资源而不需要传统的客户端-服务器模式。P2P网络常用于文件共享和流媒体传输等场景。客户端-服务器Client-Server模式这是最常见的网络架构之一。在客户端-服务器模式中客户端发送请求并从服务器接收响应。服务器提供服务、资源或数据并等待客户端的请求。这种模式适用于许多互联网应用如网站、电子邮件和数据库。对等网格Grid对等网格是一种分布式计算架构将许多计算资源组合在一起形成一个大规模的虚拟计算机。这些计算资源可以是计算机、存储设备或其他设备。对等网格允许任务在多个节点上并行执行从而提高计算效率和性能。SOAService-Oriented ArchitectureSOA是一种基于服务的软件架构其中应用程序通过服务的组合来实现特定的功能。服务是可独立访问和使用的软件组件可以通过网络进行通信。SOA可以提高系统的灵活性、可扩展性和重用性使不同的应用程序可以相互协作。边缘计算Edge Computing边缘计算是一种将计算和数据处理推向网络边缘的架构。在边缘计算中计算任务和数据处理可以在靠近数据源和终端设备的边缘节点上进行减少了数据传输的延迟和网络拥塞。边缘计算常用于物联网IoT应用和对实时性要求较高的场景。 1 为什么需要分布式的网络架构 目前视频流量占据着互联网大部分的带宽例如YouTube占据16%的ISP下行流量同时有~1B YouTube用户这就面临新的挑战 挑战一规模性如何服务 ~1B级别的用户。假如是单个超级服务器是无法给这么多用户提供并发的服务的可以思考一下为什么。挑战二异构性不同用户拥有不同的能力例如有线接入和移动用户带宽丰富和带宽受限用户解决方案分布式应用层面的基础设施CDN。 CDN就是分布式的网络架构来看看CDN是如何解决互联网杀手级应用高并发视频服务的。 2 视频流化服务 首先介绍一下互联网中视频是如何进行传输的 2.1 多媒体视频 2.2 存储视频的流化Streaming服务 假如要将视频先全部下载完再观看的话那样效率低、用户体验也很差。所以就需要一个新的方案解决视频内容传输服务视频流化服务。视频流化服务是将视频内容实时传输给用户的服务用户可以在不需要下载整个视频的情况下即时播放。下载一部分放入缓冲区中然后用户在缓冲区中读取数据播放视频。下载和读取是并行的。 2.3 流媒体传输协议DASH DASHDynamic Streaming over HTTP是一种流媒体传输协议用于在 HTTP协议 上实现动态自适应的视频流传输。DASH可以根据用户的网络条件和设备能力在不同的比特率和分辨率之间进行自动切换以提供流畅的视频播放体验。 所以使用DASH协议实现动态自适应的视频流传输服务客户端和服务器需要如何工作 服务器使用DASH协议需要做的工作 将视频文件分割成多个块每个块读取存储编码与不同码率8-10种告示文件manifest file提供不同块的URL以及块的编码、描述信息等等信息 客户端使用DASH协议需要做的工作 先获取告示文件周期性地测量服务器到客户端的带宽查询告示文件在下一个时刻请求一个块HTTP头部指定字节范围 如果带宽足够选择最大码率的视频块会话中的不同时刻可以切换请求不同的编码块取决于当时的可用带宽 “智能”客户端客户端自适应决定 什么时候 去请求块不至于缓冲挨饿或者溢出请求 什么编码速率 的视频块当带宽够用时请求高质量的视频块哪里 去请求块可以向离自己近的服务器发送URL或者向高可用带宽的服务器请求 2.4 面临挑战服务器如何向上百万用户同时提供视频流化内容CDN 方法一单个的、大的超级服务中心“mega-server”该方法存在下面几点问题 服务器到客户端路径上跳数较多瓶颈链路的带宽小导致停顿“二八定律”决定了网络同时充斥着同一个视频的多个拷贝效率低付费高、带宽浪费、效果差单点故障性能瓶颈周边网络的拥塞 总结该方法简单但是这个不可扩展 方法二通过CDN全网部署缓存节点存储服务内容就近为用户提供服务提高用户体验。CDN运营商有下面两种部署策略分别是enter deep、bring home。 enter deep将CDN服务器深入到许多接入网 更接近用户数量多离用户近管理困难Akamai1700个位置 bring home部署在少数10个左右关键位置如将服务器簇安装于POP附近离若干1st ISP POP较近 采用租用线路将服务器簇连接起来Limelight 网络应用商购买CDN运营商例如中国蓝汛购买内容加速服务CDN将其内容缓存到其他服务器上用户通过域名解析寻找跳数最少或者带宽相对较大的链路的中间服务器。 2.5 CDN的一个简单应用案例 下图中的一些名词解释 netcinema.com是一种ICP互联网内容提供商提供的服务的原始服务器netcimem’s authoritive DNSICP的权威名字服务器KingCDN.comCDN网络运营商加速服务的开始节点KingCDN authoritive DNSCDN的权威名字服务器 步骤 Bob用户浏览netcinema.com网页页面中有个视频链接点击进去了。浏览器解析视频链接向Local Name Server 本地名字服务器解析IP地址返回了netcimem’s authoritive DNS域名地址没有直接返回IP地址而是进行了重定向解析重定向URL后重定向到KingCDN authoritive DNS服务器然后该服务器返回了离用户最近的CDN服务器IP地址。由这个节点给用户提供视频流化服务。 2.6 真实CDN应用场景 Netflix网飞