七牛云怎么用电竞谁知道怎么玩?

{"debug":false,"apiRoot":"","paySDK":"/api/js","wechatConfigAPI":"/api/wechat/jssdkconfig","name":"production","instance":"column","tokens":{"X-XSRF-TOKEN":null,"X-UDID":null,"Authorization":"oauth c3cef7c66aa9e6a1e3160e20"}}
{"database":{"Post":{"":{"contributes":[{"sourceColumn":{"lastUpdated":,"description":"七牛云是国内领先的企业级公有云服务商,致力于打造以数据为核心的场景化的PaaS服务。核心产品包括对象存储服务、融合CDN管理、数据处理以及直播服务。此外,七牛云还引入了人脸识别、图片鉴黄、短视频鉴黄、广告过滤等第三方数据处理服务。作为助力开发者的互联网创新加速引擎,七牛云在为逾 50,0000 家企业提供服务的同时, 也深入了解了互联网、移动互联网、传统企业不同场景下的业务需求,提供一系列的行业解决方案。","permission":"COLUMN_PUBLIC","memberId":,"contributePermission":"COLUMN_PRIVATE","translatedCommentPermission":"all","canManage":true,"intro":"七牛云,开发者的创新加速引擎。","urlToken":"c_","id":14465,"imagePath":"v2-9b3fe31debafdb826fb78e4.jpg","slug":"c_","applyReason":"0","name":"七牛云","title":"七牛云","url":"/c_","commentPermission":"COLUMN_ALL_CAN_COMMENT","canPost":true,"created":,"state":"COLUMN_NORMAL","followers":290,"avatar":{"id":"v2-9b3fe31debafdb826fb78e4","template":"/{id}_{size}.jpg"},"activateAuthorRequested":false,"following":false,"imageUrl":"/v2-9b3fe31debafdb826fb78e4_l.jpg","articlesCount":46},"state":"accepted","targetPost":{"titleImage":"/97b8fc45e948fbde5ac8cdd_r.jpg","lastUpdated":,"imagePath":"97b8fc45e948fbde5ac8cdd.jpg","permission":"ARTICLE_PUBLIC","topics":[31688],"summary":"《失控》的开头,凯文o凯利就指出,我们最终制造出来的环境越机械化,可能越需要生物化。技术引导的未来,是一种新生物文明。不久前,七牛做了个叫Live的发布会,发布针对视频直播行业的云平台。他们的野心,仅限于此吗? 当然不。除了产品的发布,我们…","copyPermission":"ARTICLE_COPYABLE","translatedCommentPermission":"all","likes":0,"origAuthorId":0,"publishedTime":"T14:13:10+08:00","sourceUrl":"","urlToken":,"id":825914,"withContent":false,"slug":,"bigTitleImage":false,"title":"敲开Live时代大门 七牛说:视频直播只是开始","url":"/p/","commentPermission":"ARTICLE_ALL_CAN_COMMENT","snapshotUrl":"","created":,"comments":0,"columnId":14465,"content":"","parentId":0,"state":"ARTICLE_PUBLISHED","imageUrl":"/97b8fc45e948fbde5ac8cdd_r.jpg","author":{"bio":"七牛云的小牛犊子,哞~","isFollowing":false,"hash":"eb4d521dee7aac90b622a9","uid":256400,"isOrg":false,"slug":"pang-chou-38-95-76","isFollowed":false,"description":"","name":"胖的一定丑","profileUrl":"/people/pang-chou-38-95-76","avatar":{"id":"v2-d31dc07edaf525fedc10f6c","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false},"memberId":,"excerptTitle":"","voteType":"ARTICLE_VOTE_CLEAR"},"id":395388}],"title":"敲开Live时代大门 七牛说:视频直播只是开始","author":"pang-chou-38-95-76","content":"《失控》的开头,凯文o凯利就指出,我们最终制造出来的环境越机械化,可能越需要生物化。技术引导的未来,是一种新生物文明。不久前,七牛做了个叫Live的发布会,发布针对视频直播行业的云平台。他们的野心,仅限于此吗?当然不。除了产品的发布,我们可以看到七牛对视频直播技术生命的新理解,一个被七牛称作 “Live” 的时代已经到来。一、Live 时代来临互联网时代,什么最可贵?体验。可预见的趋势是,未来的消费者会更愿意为体验买单。反观从web 1.0到移动互联网,网络貌似消弭了时间、空间的距离,貌似无弗界远,世界触手可及。可是,伸出手去,触及的只是屏幕。所以,技术进步的方向,就是为了打破这种体验的界限。社交媒体上,交互的方式从图片到短视频演进到直播;购物平台上,从图文解说到买家秀到直播卖场,再到即将亮相的VR购物体验;网络课堂上,从老师讲学生看的单向传播,到老师讲学生也能远程提问,增加互动感受;……用户说,我不仅想听到,读到,看到,还想身临其境感受到……可以想象,随着直播技术的普及,一个新的交互时代来临。七牛将这个时代命名为“Live”时代。(1)直播就是Live,七牛的新主张互联网改变人的连接方式。“在互联网诞生以后,我们商业文明受到了很大的影响。” 七牛CEO许式伟这样理解。“沉浸式交互体验、安全透明的远程交易体系、快捷的物流体系,新的商业文明可以用这三个词概括。” 社交媒体经常会需要富媒体来交流,以往社交媒体可能更多的是图片,2014年开始到2015年上半年是短视频。许式伟提出,视频直播的大热,是交互的再一次升级。这次升级,意味着Live时代的真正开启。七牛认为,Live一词能够更加准确地描述这个时代远程交互的特征。Live时代是一种新交互方式和体验的时代,它颠覆了传统交互手段和商业模式,无论互联网企业还是传统企业,都可以通过Live时代提升效率,重塑商业模式。同时,Live很好地阐述了远程交互体验的演进方向:越来越自然的、沉浸式的交互体验。这是如凯文˙凯利所说的,是更符合自然性和生物特征的方向。从技术演进上,七牛也相信,谁能够消除因时空距离带来的不便,让远程交互有如当面交谈一样自然,谁就赢得未来。“Live交互技术的方向有三个点,更实时、更智能、更自然,我们让对方更快的获得我们的信息和及时获得反馈。”许式伟说。(2)直播,只是Live 时代的开始视频直播开启了Live时代,但Live时代的想象力远远超过视频直播。一切交互的需求,以及对这种需求的实时满足,才是核心所在。因此,这绝对不是一个行业或者独立领域的概念。但跟其他模式类似,这种交互的需求会很直观的先反映在娱乐行业上,因此有了之前秀场直播,电竞类直播模式的兴起。 “娱乐行业通常是驱动整个社会的急先锋。”七牛总裁吕桂华表示,“直播从网红、游戏直播开始是非常正常的,但肯定不会止步于此。 ”看准了这个需求在Live时代更长远的未来,七牛所推出的直播也就不止于直播了。“直播是一个介质或者说媒体,它更多的是一种场景,沟通的场景。包括旅游直播、电商直播、远程教育、秀场之类,各种各样的场景把直播这样的一个技术场景应用到业务场景里面去。作为新的技术生命体,直播会越来越朝着互动型方向演进。例如,VR的时代到来将提供真实的面对面的体验,这也是Live时代可见的未来。”七牛CEO许式伟在发布会上如此说到。二、敲开大门,LiveNet、场景式模块Live时代的到来,视频直播还只是开始,从互联网到传统行业,对Live时代更自然的交互的需求的趋势已经明朗,正是具备了这样的视野,认定了更实时、更智能、更自然的交换变革方向。七牛此次直播云发布会一上来先推出重磅级服务:实时流网络(LiveNet)。(1)实时流网络(LiveNet),重新打造的轮子
LiveNet,从名字上就能看出,它并非仅仅是为视频直播打造的,而是一开始就背负更为宏大的使命。它实际上属于基础通道层,跟过去的网络有一些结构上的,本质的差异,它可以真正满足当前时代下更实时更交互的场景所需的基础技术支撑。“七牛LiveNet实时流网络,它是一个新型的、去中心化的网络结构,简化了节点的组成方式,节点可以无限的扩充,可以更好的满足全球化需要。它的数据传输方式,不是基于上传下载缓存的方式,而是变成实时的传输,可以达到更实时,就是长交换的场景体验。另外,在故障的容错、智能调度等方面,LiveNet都有更好的表现,可以很好满足视频直播类业务不卡顿、不延时、流畅的效果要求。”七牛直播云负责人徐立介绍说。(2)更丰富、开放的场景化SDK 七牛在发布会上也提到,他们来看直播在Live时代真正的机会,不在于做成独立平台。而在于做「直播+」,也就是直播跟其他各种领域和垂直行业的结合,比如社交、影视、教育、旅游等等。因此基于底层的实时流网络,七牛直播云在打造上层直播功能的同时更加关注丰富性与开放性。“根据活动、移动、监控、教学、VR等不同场景,可以匹配不同的功能需求,如动态水印、首屏秒开、云端录制、多屏合一、连麦互动、延时直播等多种功能。”徐立说。 “目前我们已经支持很多业务场景,比如游戏直播、社交直播、电竞场景,无人机直播等等。这些场景里面具体的细节功能,我们做过调研,对客户非常重要的大概有36个,而目前七牛的推流端和直播端 SDK 中已经实现了32 个。比较下来是业内实现功能最丰富的。”七牛布道师何李石介绍说。“此外,我们提供开放可插拔的模块化组件,整个采集、处理和编码过程都是非常开放的,每个模块都可以非常方便的替换或者扩展,这样的好处就是如果想扩展自定义功能很快。其次,SDK 也是极具开放性的,能够方便地整合所有推流设备。我们认为所有端都应该平等地享受七牛的直播云服务,因此帮助所有端接入也是我们的服务宗旨之一。”三、迎接Live时代,七牛的合作生态圈现在,无论哪个产品都不可能通过完全孤立的业务实现持续的大规模增长,至少会是一个基于产品组合的业务体系,而这,被称为生态。每个公司都有其独特的生态,有的公司以商业模式为中心来拓展,有的商家则以产品来布局,还有的是着眼未来走政策路子。七牛也是一样。成立了5年,平台上有超过50万的企业客户,图片超过2000亿张的规模,已经累积超过10亿小时的视频,每五分钟产生大概5千个小时时长的视频。从这个体量上看,七牛已经足够用富媒体服务生态平台的视角去拥抱Live时代,去寻求更大的突破。因此,在这次发布直播云的同时,他们也提出了打造最完备最开放的富媒体云服务生态的方向,并顺势推出了“Live生态计划”,招募更多的富媒体开发者服务一起迎接Live时代的到来。 “我们是一个PaaS的云,他们是云里面子的产品,向客户提供服务,我们实际上提供了更大的用户需求的平台。”许式伟说。“通过这样的PaaS平台,实现了七牛一直致力的一个目标,就是释放整个产业的创造力,缩短想法和产品之间的距离。”","updated":"T06:13:10.000Z","canComment":false,"commentPermission":"anyone","commentCount":0,"collapsedCount":0,"likeCount":0,"state":"published","isLiked":false,"slug":"","isTitleImageFullScreen":false,"rating":"none","titleImage":"/97b8fc45e948fbde5ac8cdd_r.jpg","links":{"comments":"/api/posts//comments"},"reviewers":[],"topics":[{"url":"/topic/","id":"","name":"技术交流"}],"adminClosedComment":false,"titleImageSize":{"width":1268,"height":698},"href":"/api/posts/","excerptTitle":"","column":{"slug":"c_","name":"七牛云"},"tipjarState":"inactivated","annotationAction":[],"sourceUrl":"","pageCommentsCount":0,"hasPublishingDraft":false,"snapshotUrl":"","publishedTime":"T14:13:10+08:00","url":"/p/","lastestLikers":[],"summary":"《失控》的开头,凯文o凯利就指出,我们最终制造出来的环境越机械化,可能越需要生物化。技术引导的未来,是一种新生物文明。不久前,七牛做了个叫Live的发布会,发布针对视频直播行业的云平台。他们的野心,仅限于此吗? 当然不。除了产品的发布,我们…","reviewingCommentsCount":0,"meta":{"previous":{"isTitleImageFullScreen":false,"rating":"none","titleImage":"/72de978d2b3d64f_r.jpg","links":{"comments":"/api/posts//comments"},"topics":[{"url":"/topic/","id":"","name":"技术交流"}],"adminClosedComment":false,"href":"/api/posts/","excerptTitle":"","author":{"bio":"七牛云的小牛犊子,哞~","isFollowing":false,"hash":"eb4d521dee7aac90b622a9","uid":256400,"isOrg":false,"slug":"pang-chou-38-95-76","isFollowed":false,"description":"","name":"胖的一定丑","profileUrl":"/people/pang-chou-38-95-76","avatar":{"id":"v2-d31dc07edaf525fedc10f6c","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false},"column":{"slug":"c_","name":"七牛云"},"content":"导读:通用的直播模型是什么样子?七牛直播云是怎么实现的?SDK 的功能怎样?性能表现如何?在 6.30 七牛直播云发布会上,七牛云首席布道师何李石对七牛直播云服务的关键技术点进行了详细解读。以下根据七牛云首席布道师何李石现场演讲内容整理。直播模型及其实现一个通用的直播模型一般包括三个模块:主播方、服务器端和播放端。首先是主播方,它是产生视频流的源头,由一系列流程组成:第一,通过一定的设备来采集数据;第二,将采集的这些视频进行一系列的处理,比如水印、美颜和特效滤镜等处理;第三,将处理后的结果视频编码压缩成可观看可传输的视频流;第四,分发推流,即将压缩后的视频流通过网络通道传输出去。其次是播放端,播放端功能有两个层面,第一个层面是关键性的需求;另一层面是业务层面的。先看第一个层面,它涉及到一些非常关键的指标,比如秒开,在很多场景当中都有这样的要求,然后是对于一些重要内容的版权保护。为了达到更好的效果,我们还需要配合服务端做智能解析,这在某些场景下也是关键性需求。再来看第二个层面也即业务层面的功能,对于一个社交直播产品来说,在播放端,观众希望能够实时的看到主播端推过来的视频流,并且和主播以及其他观众产生一定的互动,因此它可能包含一些像点赞、聊天和弹幕这样的功能,以及礼物这样更高级的道具。我们知道,内容产生方和消费方一般都不是一一对应的。对于一个直播产品来讲,最直观的体现就是一个主播可能会有很多粉丝。因此,我们不能直接让主播端和所有播放端进行点对点通信,这在技术上是做不到或者很有难度。主播方播出的视频到达播放端之前,需要经过一系列的中间环节,也就是我们这里讲的直播服务器端。直播服务器端提供的最核心功能是收集主播端的视频推流,并将其放大后推送给所有观众端。除了这个核心功能,还有很多运营级别的诉求,比如鉴权认证,视频连线和实时转码,自动鉴黄,多屏合一,以及云端录制存储等功能。另外,对于一个主播端推出的视频流,中间需要经过一些环节才能到达播放端,因此对中间环节的质量进行监控,以及根据这些监控来进行智能调度,也是非常重要的诉求。实际上无论是主播端还是播放端,他们的诉求都不会仅仅是拍摄视频和播放视频这么简单。在这个核心诉求被满足之后,还有很多关键诉求需要被满足。比如,对于一个消费级的直播产品来说,除了这三大模块之外,还需要实现一个业务服务端来进行推流和播放控制,以及所有用户状态的维持。如此,就构成了一个消费级可用的直播产品。但是正如刚才所说的直播通用模型一样,实际上这里很多功能都可以抽象成一个通用功能,也就是说各家直播产品的需求和实现方式都类似。我们再来看,如果把这些抽象出来的需求交给七牛这样的第三方去实现,会有多大的差异。七牛直播云解决方案首先,对于推流端的功能,我们可以用一个 SDK 去覆盖所有功能点,包括采集、处理、编码和推流等工作,若有一些功能无法通过官方提供的 SDK 来满足,可以通过自定义扩展的形式来实现。其次,对于播放端,我们可以将其功能分类,和视频播放相关的功能可以通过一个播放器 SDK 去实现。而其它功能如实时聊天,可以直接使用其它第三方服务。在直播服务器端,几乎所有的工作都集中于如何更好的处理、分发视频流,比如出于审核的目的对视频进行自动鉴黄,为了更好的适配客户端的网络需要对视频进行实时转码。我们发现,对于这三个模块,几乎所有直播产品的诉求都是类似的。因此七牛提供了一个这样覆盖主播端到播放端的直播云解决方案,它包括推流端 SDK 和播放端 SDK,以及一个强大的直播网络,它既能满足推流端和播放端在拍摄和播放方面的体验诉求,也能够通过定制化的方式来满足在产品运营方面的诉求,比如给播放器加上弹幕和点赞等功能。七牛直播云平台主要包含直播云 API、推流端 SDK 和播放端 SDK 等三大模块。接下来重点介绍七牛在推流端和播放端 SDK 方面的功能特性,以及它们在性能方面的表现。SDK 功能特性1)SDK处理流程如果把一个完整的直播流程用一个流水线来表达,它应该是这样子的,如下图所示。七牛 SDK 的开放性表现为两点:1. 数据采集源的开放性。我们提供了一个开放式的采集接口来进行视频内容的采集,目前主要的采集源有手机屏幕采集和摄像头采集。2. 可插拔的数据处理模块。对于视频内容的处理,目前我们提供了美颜、水印和基本的滤镜功能,但它其实也提供了一个开放式的处理接口。除了开放性,七牛也支持了 H.264 和 H.265 等多种编码标准。H.265 是一种更为高效的编码标准,能够在同等画质效果下将内容的体积压缩得更小,传输时更快更省带宽。视频流编码完成后,则进入另一个常规的流程,进行推流、分发和播放。这样,我们就完成了一个完整的直播流程,它包含采集、处理、编码、推流、分发和播放等子流程。其中每一个子流程都是可插拔可替换的,而所有流程的子模块也都具有灵活开放的输入输出接口,子模块可以被任意的扩展或者替换。2)SDK功能点对比直播流程里面的模块化处理方式中,每个子流程都包含一系列开放可扩展的子模块,这些子模块对应多组不同的功能,以满足各阶段的需求。我们汇总了一些当前主播、观众以及 App 实现者最关注的功能,大概有 36 种。从这张图可以看出,目前七牛的推流端和直播端 SDK 中实现了多达 32 种功能。3)SDK 包大小对比但是,对于七牛直播服务来说,要做到这么开放,又具备这么多功能点,需要一个多大的 SDK 呢? 我们统计了一下,iOS 端的推流和播放 SDK 加起来,大概需要 5MB 左右,而业界的平均值则是 11MB。Android 端由于需要适配的硬件设备和软件系统太多,SDK 的大小大概在 18MB 左右,业界的均值则在 42MB。SDK 性能对比我们提供了一个开放的 SDK 处理流程,在这个流程中每个环节都提供了非常丰富的关键功能,能够满足大部分场景下的需求,同时又保证了包含所有这些功能特性的 SDK 不会太大。那么,它在性能方面的表现如何呢?1)资源占比除了程序 Bug 导致的主动崩溃之外,一个 App 的稳定性主要由两方面影响:内存和 CPU,因此第三方 SDK 在这两方面的表现将直接影响 App 的稳定性。而对于一个视频推流和播放 App 来说,CPU 是其最重要的资源之一。我们先来看一下七牛 SDK 在 CPU 占比方面的情况。上下两张图分别是推流和播放 SDK 在经过多次反复测试后得出的 CPU 占比均值曲线图。从图中可以看出,无论是推流端还是播放端,七牛 SDK 在 CPU 使用率方面都占比最少。我们再来看一下内存占比,上下两图也分别给出了推流和播放 SDK 在多次反复测试后得出的内存占比均值曲线图,从图中可以看出,我们 SDK 在推流和播放的时候内存使用情况表现非常平稳,而内存的使用量也在业界均值之下,接近于最好的值。这个数据之所以没有达到最好值,是因为我们经过反复测试发现频繁的对内存进行回收(Android)会导致编码的不稳定,实际上这个指标确实可以优化到最好,只不过可能会导致内存和 CPU 波动较大,进而影响整个过程的编码效率。对于这样的权衡,我们大多数客户也非常认可,这也是他们选择我们的 SDK 原因之一,这点从我们 Github 库上的关注度就可以看出。2)耗电量对比最后,我们再来看下在保证较好的推流效果和 App 稳定性情况下,它需要消耗多少电量。这两张图是推流和播放 10 分钟得到的平均电量消耗对比,从图中可以看出,七牛 SDK 在推流和播放情况下所需电量都是最小的,推流和播放分别只需要占用 App 总电量的 1.7% 左右(三星 S6 手机)。总结前面分享了这么多功能和性能的对比,我们再来回顾一下所有这些对比到底说明了什么:首先,我们提供开放可插拔的模块化组件,整个采集、处理和编码过程都是非常开放的,每个模块都可以非常方便的替换或者扩展。其次,SDK 是开放性的,能够方便地整合所有推流设备。我们认为所有端都应该平等地享受七牛的直播云服务,因此帮助所有端接入也是我们的服务宗旨之一。最后,可量化的指标才有改善的空间,我们将几乎所有指标都量化成指导 SDK 性能优化的数据,准确跟踪服务客户的质量,长期坚持不懈的改进 SDK 易用性、性能以及后端支撑网络的效率。也即,优化到极致的推流播放性能和编解码控制。","state":"published","sourceUrl":"","pageCommentsCount":0,"canComment":false,"snapshotUrl":"","slug":,"publishedTime":"T14:17:10+08:00","url":"/p/","title":"何李石:七牛直播云服务技术详解","summary":"导读: 通用的直播模型是什么样子?七牛直播云是怎么实现的?SDK 的功能怎样?性能表现如何?在 6.30 七牛直播云发布会上,七牛云首席布道师何李石对七牛直播云服务的关键技术点进行了详细解读。 以下根据七牛云首席布道师何李石现场演讲内容整理。 直播模…","reviewingCommentsCount":0,"meta":{"previous":null,"next":null},"commentPermission":"anyone","commentsCount":0,"likesCount":7},"next":{"isTitleImageFullScreen":false,"rating":"none","titleImage":"/f70fdba3ade95094ee2edb2_r.jpg","links":{"comments":"/api/posts//comments"},"topics":[{"url":"/topic/","id":"","name":"技术交流"}],"adminClosedComment":false,"href":"/api/posts/","excerptTitle":"","author":{"bio":"七牛云的小牛犊子,哞~","isFollowing":false,"hash":"eb4d521dee7aac90b622a9","uid":256400,"isOrg":false,"slug":"pang-chou-38-95-76","isFollowed":false,"description":"","name":"胖的一定丑","profileUrl":"/people/pang-chou-38-95-76","avatar":{"id":"v2-d31dc07edaf525fedc10f6c","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false},"column":{"slug":"c_","name":"七牛云"},"content":"7月14日晚,七牛资深布道师卜赫受邀在KVM社群里针对「大规模实时流媒体服务网络架构演进」做了详细的分享。以下文章根据分享内容整理而成。从 CDN 到 LiveNet随着基础设施的升级,我们从文字时代演进到读图时代,又从读图时代演进到微视频时代。人们对媒体载体的实时性,交互性的要求越来越高。今年是 Live 时代的元年,直播 App 如雨后春笋,像极了几年前的千团大战、O2O 大战、P2P 金融大战,成为互联网的又一场战役。·什么是内容分发网络·内容分发网络的链路路由·内容分发网络的扩容·内容分发网络的安全·回归本质:LiveNet·LiveNet VS P2P 网络为什么要有内容分发网络,内容分发网络的由来互联网起源于美国军方的一个内部网络,Tim Berners-Lee 是互联网发明者之一,他很早就预见到在不久的将来网络拥塞将成为互联网发展的最大障碍,于是他提出了一个学术难题,要发明一种全新的、从根本上解决问题的方法来实现互联网内容的无拥塞分发,这项学术难题最终催生出一种革新性的互联网服务-- CDN 。当时 Berners-Lee 博士隔壁是 Tom Leighton 教授的办公室,一位麻省理工学院应用数学教授,他被 Berners-Lee 的挑战激起了兴趣。Letghton 最终解决了这个难题并开始自己的商业计划,成立了 Akamai 公司,成为世界上第一家 CDN 公司。内容分发网络的架构上图是一个典型的 CDN 系统的三级部署示意图,节点是 CDN 系统中的最基本部署单元,分为三级部署,中心节点、区域节点和边缘节点,最上面一级是中心节点,中间一级是区域节点,边缘节点地理位置分散,为用户提供就近的内容访问服务。下面介绍一下 CDN 节点的分类,主要分成两大类,骨干节点和 POP 节点,骨干节点又分为中心节点和区域节点:·骨干节点·中心节点·区域节点·POP节点·边缘节点逻辑上来讲,骨干节点主要负责内容分发和边缘节点未命中时进行回源,POP 节点主要负责提供给用户就近的内容访问服务。但如果 CDN 网络规模较大,边缘节点直接向中心节点回源会给中间层的核心设备造成的压力过大,在物理上引入区域节点,负责一个地理区域的管理,保存部分热点数据。内容分发网络的种类·网页加速·视频加速·文件传输加速·应用协议加速·直播加速内容分发网络主要分为以上几种,我们简单介绍一下:网页加速网页是比较早出现的互联网信息载体,也是 CDN 支持的最早的一种加速服务,开始主要是对静态网页、图片等等进行加速,发展到现在也可以对动态内容进行加速。视频点播加速随着基础网络的提升,单纯的图片和文字已经没办法满足大家的物流需求,于是涌现了大量的视频网站,CDN 应对这种需求开发了针对流媒体视频的加速网络,做出的技术改变,主要是改变原有 PULL 模型为 PUSH 模型,缩短了用户访问时间,避免视频流媒体的冷启动,也降低了对树形网络拓扑结构中的根节点的压力(骨干节点)。文件传输加速主要支持了很多常见的文件下载协议,如 FTP、HTTP、P2P 等,同时像七牛这种云存储厂商会支持层次更高的对象存储服务,CDN 也内建在其中,对用户无感知加速。应用协议加速推出了 HTTPS 加速,HTTP 网页压缩加速等,进一步缩短了用户访问时间,降低了源站的资源使用压力。直播加速随着 Live 时代的到来,直播成为当前 CDN 厂商的又一个主要的战场,那么 Live 时代 CDN 需要支持什么样的服务呢?·流媒体协议的支持,包括 RTMP , HLS ,HTTP-FLV 等;·首屏秒开,从用户点击到播放控制在秒级以内;·1~3 延迟控制,从推流端到播放端,延迟控制在 1~3 秒之间;·全球全网智能路由,可以利用整个 CDN 网络内的所有节点为某一单一用户服务,不受地域限制。随着全球一体化进程不断推进,跨区域、跨国家、跨洲的直播正变为常态,很可能主播在欧美,而用户在亚洲;·天级别的节点按需增加,中国公司出海已成大势,CDN 需要更多的海外节点,如今比拼的更多的是海外节点可以快速部署,从提出节点增加需求到节点入网提供服务,需要达到一天之内,对 CDN 运维和规划提出非常高的要求。原有的月级别规划和入网满足不了先进的要求。内容分发网络的链路路由CDN 基于树状网络拓扑结构,每一层都有 GSLB (Global Server Load Balancing) 用于同一层内的多个 CDN 节点负载均衡,这样有什么好处呢?前面提到的众多 CDN 的应用场景中,网页加速、视频加速、文件传输加速,都是同时依赖 GSLB 和 Cache 系统的,Cache 系统是整个 CDN 系统中的成本所在,设计树形结构可以最大化的节省 Cache 系统的资本投入。因为只有中心节点需要保持机会所有的 Cache 副本,先下逐级的减少,到了边缘节点只需要少量的热点 Cache 就可以命中大部分 CDN 访问请求,这样极大的降低了 CDN 网络的成本,也符合当是 CDN 用户的需求,可谓双赢。当是到了 Live 时代,直播业务是流式业务,很少涉及到 Cache 系统,基本都是播完就可以释放掉存储资源,即使因为政策原因有存储的需求也都是冷存储,对于存储的投入相对非常低廉,而且不要求存储在所有节点中,只要保证数据可回溯,可用即可。我们看看树状网络拓扑,用户的链路选择数量是有限的,如下图,用户在某一个区域内可选择的链路数是:2 * 6 = 12用户在某一区域内,则 GSLB (通常在边缘节点这一层是 Smart DNS)会把用户路由到该区域内的某个边缘节点,上一层又会路由到某个区域节点(这里的 GSLB 通常是内部的负载均衡器),最后又回溯到中心节点,中心节点会链接源站。这里的假设是:·用户能访问的最快节点一定是该区域内的边缘节点,如果该区域没有边缘节点则最快的一定是逻辑相邻的区域内的边缘节点。·边缘节点能访问的最快节点一定是该区域内的区域节点,一定不会是其他区域的节点。·区域节点到中心节点一定是最快的,这个链路的速度和带宽都是最优的。但实际真的如此么?引入了如此多的假设真的正确么?实际上就算理论上我们可以证明以上假设有效,但是节点规划和区域配置大都依赖于人的设计和规划,我们知道人多是不靠谱的,而且就算当时区域规划正确,谁能保证这些静态的网络规划不会因为铺设了一条光纤或者因为某些 IDC 压力过大而发生了改变呢?所以我们可以跳出树状网络拓扑结构的桎梏,探索新的适合直播加速的网络拓扑结构。为了摆脱有限的链路路由线路限制,激活整理网络的能力,我们可以把上述的节点变成网状网络拓扑结构:我们看到一旦我们把网络结构改成了网状结构,则用户的可选择链路变为:无向图的指定两点间的所有路径,学过图论的同学都知道,数量惊人。系统可以通过智能路由选择任何一个最快的链路而不用依赖于系统部署时过时的人工规划,无论是某些链路间增加了光纤或者某个 IDC 压力过大都可以实时的反映到整理网络中,帮助用户实时推倒出最优链路。这时我们可以去掉前面的一些假设,通过机器而不是人类来时实时规划网络的链路路由,这种实时大规模的计算任务天生就不是人类的强项,我们应该交给更适合的物种。内容分发网络的扩容前面提到中国公司的出海已成大势,CDN 海外节点的需求越来越大,遇到这种情况需要 CDN 厂商在新的区域部署新的骨干网和边缘节点,需要做详细的网络规划。时代发生变化,原来 CDN 用户都是企业级用户,本身业务线的迭代周期较长,有较长时间的规划,留给 CDN 厂商的时间也比较多。而互联网公司讲究的是速度,双周迭代已成常态,这里面涉及到成本和响应速度的矛盾,如果提前部署节点可以更好的为这些互联网公司服务,但是有较高的成本压力,反之则无法响应这些快速发展的互联网公司。理想情况是,用户提出需求,CDN 厂商内部评估,当天给出反馈,当天部署,客户当天就可以测试新区域的新节点。怎么解决?答案是基于网状拓扑结构的对等网络,在网状拓扑结构中每个节点都是 Peer ,逻辑上每个节点提供的服务对等,不需要按区域设计复杂的网络拓扑结构,节点上线后不需要复杂的开局过程,直接上线注册节点信息,就可以对用户提供服务了,结合虚拟化技术前后时间理论上可以控制在一天之内。回归本质:LiveNet我们知道最早的互联网就是网状拓扑结构,后来才慢慢加入了骨干网来解决各种各样的问题,我们是时候该回归本质,拥抱下一代 Live 分发网络:LiveNet 。总结前面的讨论,我们发现 Live 时代我们需要的内容分发网络是:·对 Cache 的要求没有以前那么高·对实时性的要求非常高·对节点运维的要求高,要更智能,尽量减少人工干预·对扩容这种运维事件响应度要求非常高要做到如上几点,我们需要:·去中心化,网状拓扑·全球全网调度·节点无状态,节点对等·智能运维以上这些就是 LiveNet 设计时候的斟酌,让运维更自动化,系统运行高度自治,依赖机器计算而不是人工判断,下面分别介绍一下。去中心,网状拓扑网状拓扑结构是设计的根本和基础,只有看清了我们对 Cache 需求的降低,网状拓扑结构才更有优势。全球全网调度基于全球一张网,不在受限于区域网络调度,将调度的范围从区域网络扩展到全球,全网内的节点都可以响应用户的请求,参与链路路由,不再先由人工假设选定一部分节点进行路由,去掉人工干预,让整个系统更智能。节点无状态,节点对等LiveNet 节点无状态和节点对等都方便了运维,去掉了区域概念后的全球一张网让整个拓扑结构变的异常复杂,如果各个节点间有先后依赖关系,势必让运维成为噩梦,需要专有的服务编排系统,同时也给扩容带来困难,需要运维人员设计复杂的扩容方案,需要预演多次才敢在复杂的网络拓扑中扩容。当时如果节点本身对等且无状态,则运维和扩容都变的容易很多。但整个系统在运行过程中还是会一些状态和数据需要保持,比如某些 Live 内容需要落地回放的需求,这些通过久经考验的七牛云存储来存储。智能运维智能运维建立在以上的「网状拓扑结构的对等网络」的基础上会变的容易的多。可以方便的下线有问题的节点而不影响整个 LiveNet 网络,可以方便快速的上线新节点,提升系统容量。通过节点的数据分析可以更好的了解整个网络的整体状态。下面列举部分 LiveNet 采用的智能运维方案,让内容分发网络再次升级,以符合 Live 时代的要求。·监控节点健康状况,实时下线有问题的节点·Failover 机制,保证服务一直可用·快速扩容LiveNet VS P2P最后我们和 P2P 网络做一个对比:我们发现 P2P 方案,节点的可控性和链路的稳定性上还有很大提升空间,比较适合在实时性要求不高的场景使用、适合长尾需求,在 Live 的场景下面多是对实时性要求比较高的重度用户,无法忍受频繁的 FailOver 和节点质量参差不齐带来的网络抖动,但是如果是文件分发就比较适合用这种混合方案,可以有效降低 CDN 厂商成本,利用共享经济提高资源利用率。Q&AQ: 计算最优路径是每个节点单独计算,还是由一个调度中心计算,然后将计算结果分发给所有节点?当节点过多时,会不会占用太多的资源来计算最优路径?A:1) 计算最优路径是调度中心计算的,我们做过测试和监控,计算最优路径不会占用太多资源,在可以接受范围内;2)LiveNet 专为 Live 时代而生,说的实在点就是为了直播场景做了定制的数据,而直播场景的数据都是即用即丢的。Q:CDN 采用什么协议通信?A:主要是一些应用层的协议,在不同场景会使用不同的协议,比如直播就是 RTMP 和 HLS 等。Q: 哪些公司应用了CDN?A:上规模的公司都会使用 CDN。 目前使用 LiveNet 的公司也有很多,比如熊猫TV、咸蛋家等。Q: 我想了解一下,这个各节点的数据同步如何保证实时,及如果一个节点故障,用户域名访问如何快速下线,是自己做的一套内部DNS吗?A:1)节点是无状态节点,不存在数据同步问题;2) 基于 HttpDNS,如果 HttpDNS 不可用,降级为 SmartDNS (SmartDNS就是根据用户的来路,自动智能化判断来路IP返回给用户,而不需要用户进行选择,比方一个企业的站点三个运营商的带宽都有:电信、网通、移动,同样有三个来自不同运营商网络的访问用户,那电信访问企业网址的时候,智能DNS会自动根据IP判断,再从电信返回给电信用户;其他的也同理)","state":"published","sourceUrl":"","pageCommentsCount":0,"canComment":false,"snapshotUrl":"","slug":,"publishedTime":"T15:29:04+08:00","url":"/p/","title":"大规模实时流媒体服务网络架构演进","summary":"7月14日晚,七牛资深布道师卜赫受邀在KVM社群里针对「大规模实时流媒体服务网络架构演进」做了详细的分享。以下文章根据分享内容整理而成。从 CDN 到 LiveNet随着基础设施的升级,我们从文字时代演进到读图时代,又从读图时代演进到微视频时代。人们对媒体…","reviewingCommentsCount":0,"meta":{"previous":null,"next":null},"commentPermission":"anyone","commentsCount":0,"likesCount":2}},"annotationDetail":null,"commentsCount":0,"likesCount":0,"FULLINFO":true}},"User":{"pang-chou-38-95-76":{"isFollowed":false,"name":"胖的一定丑","headline":"","avatarUrl":"/v2-d31dc07edaf525fedc10f6c_s.jpg","isFollowing":false,"type":"people","slug":"pang-chou-38-95-76","bio":"七牛云的小牛犊子,哞~","hash":"eb4d521dee7aac90b622a9","uid":256400,"isOrg":false,"description":"","profileUrl":"/people/pang-chou-38-95-76","avatar":{"id":"v2-d31dc07edaf525fedc10f6c","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false,"badge":{"identity":null,"bestAnswerer":null}}},"Comment":{},"favlists":{}},"me":{},"global":{},"columns":{"next":{},"c_":{"following":false,"canManage":false,"href":"/api/columns/c_","name":"七牛云","creator":{"slug":"pang-chou-38-95-76"},"url":"/c_","slug":"c_","avatar":{"id":"v2-9b3fe31debafdb826fb78e4","template":"/{id}_{size}.jpg"}}},"columnPosts":{},"columnSettings":{"colomnAuthor":[],"uploadAvatarDetails":"","contributeRequests":[],"contributeRequestsTotalCount":0,"inviteAuthor":""},"postComments":{},"postReviewComments":{"comments":[],"newComments":[],"hasMore":true},"favlistsByUser":{},"favlistRelations":{},"promotions":{},"switches":{"couldAddVideo":false},"draft":{"titleImage":"","titleImageSize":{},"isTitleImageFullScreen":false,"canTitleImageFullScreen":false,"title":"","titleImageUploading":false,"error":"","content":"","draftLoading":false,"globalLoading":false,"pendingVideo":{"resource":null,"error":null}},"drafts":{"draftsList":[],"next":{}},"config":{"userNotBindPhoneTipString":{}},"recommendPosts":{"articleRecommendations":[],"columnRecommendations":[]},"env":{"isAppView":false,"appViewConfig":{"content_padding_top":128,"content_padding_bottom":56,"content_padding_left":16,"content_padding_right":16,"title_font_size":22,"body_font_size":16,"is_dark_theme":false,"can_auto_load_image":true,"app_info":"OS=iOS"},"isApp":false},"sys":{}}

我要回帖

更多关于 七牛云怎么用 的文章

 

随机推荐