`

我们用4行代码节省了100万 相见恨晚的PCDN

 
阅读更多

摘要: 我们公司主要做视频在线点播,还有少量视频下载。比较关心网络加速,首先就是价格,其次是首播时间、流畅率这几个核心性能指标。目前使用阿里云PCDN也有几个月了,整体结果是超预期、值得安利的。写这篇文章,希望能通过选型对比、接入过程、效果实现几个方面的真实感受,给还在犹豫的同行们一些启发,希望文章内容对你们有所帮助。

废话少说,先直接说效果:每月的CDN费用比以前少了近50%,首播时间、流畅率略优于使用中的2家CDN。这个结果真是让人喜大普奔,原以为PCDN价格比CDN低这么多,性能会不好,没想到这货不仅价格低,性能比CDN还只好不差,一年能给老板省将近100万,妈妈再也不用担心我的年终奖啦。这个羊毛究竟该怎么薅,请听我一一道来。


先说选型阶段,是什么原因让我们选择了阿里云PCDN?

上半年公司花大力气推广,我们的视频点播业务量增长挺快。业务量大了,不仅带宽成本有压力,我们也同样压力山大,怕产品服务不稳定,怕出各种问题。于是乎,我们一方面找目前使用的CDN公司申请价格折扣,申请服务质量保障;另一方面,也在不断寻找其他质优价廉的CDN产品。

现在CDN各家公司竞争也很激烈,基本都能爽快的给一定的折扣,但价格还是不够理想。找来找去,最后目光落在了P2P上。刚开始看到P2P,其实我内心是拒绝的,P2P让人联想到网上各种BT下载工具,这玩意虽然价格低,但性能指标能得到保障吗?看了几份P2P CDN的产品资料后,似乎跟我之前印象中的P2P不太一样,觉得还像那么回事。但深入了解之后,问题来了。要使用P2P CDN,各家都是要在客户端上集成SDK,SDK集成难度、SDK大小、SDK出bug后是否影响到主APP等各类因素都会可能造成影响。另外,从P2P原理上看,要有一定的P2P分享率,可能需要在终端上传流量。我们的视频点播业务在OTT盒子和移动端上都有,一旦在终端上传流量,不仅会占用带宽影响用户体验,而且还要在终端划一块存储空间用于缓存内容,频繁读写T卡/ROM也将影响到终端的寿命。这些问题对我们都很致命,如果这些问题真的存在,即使P2P CDN成本低,我们也没法使用。

细了解下来发现,现在不光CDN竞争激烈,连P2P的竞争也是异常激烈。期间各家P2P CDN公司轮番来宣讲产品,吹的天花乱坠。但外行看热闹,内行看门道,任你把牛皮吹破,我们有自己关心的点,达不到要求的话,再怎么吹也不会用。下面分别说说吧:

1、腾讯云P2P CDN: 腾讯云目前在大力推广他家的CDN,价格比较低,性能上还不好说。他家的CDN商业化时间不长,用到的P2P技术还不能公开申请,应该还处于公测阶段吧。主要问题是,如果要使用P2P,必须要终端上传,这个是无法接受的,只能放弃。

2、星域CDN: 星域CDN其实是迅雷下面的一家做云计算的公司,P2P技术来自于迅雷。星域CDN做了赚钱宝这样的硬件终端,用于收集用户的家庭出口带宽。由于有一些这样的硬件P2P终端节点的存在,使得客户端APP可以不用上传流量即可有P2P分享率。SDK大小适中,可以接受。但是他们缺乏视频点播业务的客户案例,并且他们来介绍产品的人,对于星域CDN在视频点播上的性能表现,看起来也没有很大的信心。这让我们比较担心,我们业务体量在快速增长,我们可不愿意当小白鼠,一旦出问题,这锅我们背不起。

3、阿里云PCDN: 和星域CDN类似,阿里云也在全国各地发展了很多终端硬件设备,用户贡献带宽获得一定的收益,像优酷路由宝就是他家自有的设备,所以也不需要在设备上传流量就有P2P效果。而和星域比起来,阿里云对各种业务场景的支持比较全面,视频点播和下载业务领域已经有不少成熟的案例,并且优酷全站都使用了PCDN,这重燃了我们的信心。另外, 它的SDK不仅对接很快,而且大小在100KB左右,集成SDK后几乎不增大APP体积。SDK中跑具体业务的内核可以远程升级,如果出了问题,可以直接停用或者远程升级,APP不用发版,这个很炫。

4、云帆加速: 云帆其实是想卖他们的CDN,通过把P2P免费给我们用,从而把CDN价格做的偏高。云帆的P2P必须要在终端设备上传流量才会有P2P效果,这个没法接受。云帆目前还是个创业公司,他们目前还做了很多其他业务,对于创业公司而言,人少而业务摊的太多,产品不一定能做精,资源也不能得到很好的保障。我们还是希望跟成熟稳定的大公司合作。

最终,我们决定使用阿里云PCDN测试看看效果。


随之而来的就是非常关键的一步—— 接入,这是最能考验服务质量和易用性的一步了。

首先在阿里云官网找到PCDN产品,申请开通。PCDN开通后,还要提供阿里云CDN域名和url给他们后台,说是要匹配规则,然后就把SDK和对接文档发给我们了。阿里云的人专门拉了钉钉群来支持我们的SDK集成和测试,他们的产品技术同学都在里面,响应的还挺及时,碰到问题都能很快解决,这要赞一个。

他们的SDK整体还比较简单,就三个接口:启动、停止和地址转换。SDK对接照着他们给的文档进行就可以了,APP的业务逻辑也不需要更改。从开始对接到集成成功,一共就花了不到一个小时,我数了数,总共也就4行核心代码,这有点颠覆我以前对SDK集成的认知,没想到这么简单。给你们看看我是怎么做到的吧。

和大多数SDK一样,启动APP时启动SDK,传入阿里云分配给我们的token,这样就把PCDN服务启动起来了。

pcdn_1

需要播放视频时,播放器拿到云端提供的播放url地址后,增加一步调用SDK获取PCDN播放地址,然后使用PCDN提供的本地地址播放即可。
pcdn_2

最后再退出应用程序时停止PCDN服务即可。
pcdn_3

我们在APP上做了埋点监测,比对了首播时间、流畅度等指标,PCDN的指标略优于我们使用的CDN,这些关键指标测试下来,效果还是比较满意的。另外,阿里云PCDN有两点是超出了我们预期的。

第一个就是PCDN支持下载限速,我们大部分的业务是点播,有少部分的视频是要下载的,下载都是后台进行,要求下载的同时还能够流畅的播放视频,同时也希望尽量限制在带宽高峰期下载的速度。这就要求对下载进行限速了,还好阿里云PCDN已经支持了下载限速这个功能,下载速度可以由我们灵活控制,这个功能很好的解决了我们的问题。

第二个就是解决视频被劫持的问题。之前时不时有用户反映视频没法播放,经过分析基本都是域名被运营商劫持造成的,这种情况尤其在一些小地方小运营商中出现,比较头疼。给我们提供服务的CDN公司也能解决域名劫持的问题,但需要在APP上集成SDK,我们是不大愿意单纯为了这一个功能去集成SDK的。刚好阿里云PCDN SDK自带了HTTPDNS功能,保证了域名解析的正确性,避免域名被劫持的情况,并且HTTPDNS还免费给我们用,简直太方便太贴心了有木有。


成功接入后,我们就要看看效果了,毕竟老板们对数字指标是相当关心啊。

我们内部测试验证了一周左右。从测试情况看,产品稳定性不错,各方面性能指标也都达到了要求。但这毕竟只是实验室几个测试同学的测试,要真正反映产品表现,还是要大量数据来说话。阿里云PCDN的同学建议我们控制渠道灰度发布,有较多的用户使用才会体现出P2P效果来。经过跟老板商量,我们挑了个渠道,灰度发布了版本。几个小时后,就有几千的安装量,几千个用户对于验证PCDN效果也足够了。

接着又是一周时间,我们持续观察了各方面的数据,首播时间跟CDN不相上下,流畅度方面,使用CDN时流畅度98%左右,使用PCDN时流畅度98.5%左右,下载稳定性和完成率也符合要求,整体的表现还是很不错的。老板看到测试数据比较满意,同时,阿里云PCDN的同学对我们的问题的响应和支持都比较及时,老板果断决定正式上线PCDN产品,在各个渠道逐步全量发布。

现在,我们使用PCDN有几个月时间了,新版本的覆盖率已经很高了。产品还是很稳定的,即使偶尔有问题也能很快得到解决,这是我们非常看重的一点,省了很多麻烦。虽然业务增长,带宽量也在增长。但使用PCDN后,每月的带宽支出却实实在在的省了不少。照这个情况看,每年就能省将近100万的带宽费用了。而这所有的一切,只是花了不到一个小时集成阿里云PCDN SDK,增加了4行核心代码带来的成果,真是相见恨晚。

总结下整体的感受:接口简单服务给力,测试性能稳定优秀,阿里云有这么大的羊毛,不赶紧来薅,还等什么呢?

 

本文为云栖社区原创内容,未经允许不得转载,如需转载请发送邮件至yqeditor@list.alibaba-inc.com

分享到:
评论

相关推荐

    Laravel开发-pcdn

    对于pCDN,我们需要创建特定的路由来处理软件包的下载请求,并通过控制器来验证权限并提供文件。 - **存储服务**:Laravel 提供了多种存储驱动,包括本地、S3、FTP 等,用于存储和管理文件。开发者可以根据需求选择...

    PCDN.docxy详细解释PCDN的原理的小文档

    PCDN.docx 详细解释 PCDN 的原理的小文档 PCDN(Peer-assisted Content Delivery Network)是一种基于P2P技术和CDN技术的融合网络架构。PCDN解决了传统CDN技术的高成本问题,同时提高了内容分发的效率和质量。 ...

    百度PCDN2.0.1.700402大众版

    【标题】:“百度PCDN2.0.1.700402大众版”指的是百度公司提供的点对点内容分发网络(P2P CDN)的大众版本,该版本的软件更新到了2.0.1.700402这一特定的迭代号。在CDN领域,P2P技术的应用旨在优化网络资源的利用,...

    PCDN+专项治理工作要求

    通过上述内容的详细介绍,我们可以看出,PCDN+专项治理工作旨在规范宽带资源的使用,打击非法套利行为,维护网络环境的安全稳定。各相关部门和个人应当积极响应和支持这些措施,共同促进互联网行业的健康发展。

    百度金矿客户端下载PCDN大众版

    百度金矿客户端下载PCDN大众版,支持win所以系统不包括XP

    p2p技术介绍及相关应用(p2p、cdn、pcdn、iptv)

    - **节省成本:** 减少了对专用服务器的需求,降低了运营成本。 **应用场景:** - **电视直播服务:** 实现高质量的电视节目直播。 - **点播服务:** 用户可以根据需求点播各类影视作品。 - **互动电视:** 如在线...

    巧用sar 命令监控网卡上传流量的自动化脚本(解决甜糖、猕猴桃等PCDN突然没上传又不恢复情况)

    解决甜糖、猕猴桃等PCDN突然没上传又不恢复情况 著作权归作者所有。 商业转载请联系作者获得授权,非商业转载请注明出处。 链接:https://nctoro.com/daima/656.html 脚本功能: 本脚本是一个自动化的监控工具,...

    CDN与P2P融合技术介绍.pptx

    CDN与P2P融合技术介绍.pptx

    CDN计费规则.pptx

    PCDN产品计费规则的说明,PCDN产品继承了CDN的月95计费方式,鉴于资源和平台分离的模式,又有一些特有的计费模式

    2021-2027全球与中国P2P内容传递网络(P2P CDN)市场现状及未来发展趋势.docx

    P2P内容传递网络(P2P CDN)是一种利用P2P技术进行内容分发的网络架构,旨在优化网络流量,提高数据传输效率,并降低传统CDN(内容分发网络)的成本。报告“2021-2027全球与中国P2P内容传递网络(P2P CDN)市场现状...

    瑞通云平台V3.0版发布 云服务模式引领行业变革.pdf

    瑞通云平台V3.0版发布 云服务模式引领行业变革.pdf

    PearPlayerjs支持WebRTC的多源多协议混合P2PCDN的流媒体播放器

    PearPlayer(梨享播放器) 是完全用JavaScript写的开源HTML5流媒体播放框架,实现了融合HTTP(包含HTTPS、HTTP2)、WebRTC的多协议、多源、低延迟、高带宽利用率的无插件Web端流媒体加速能力。

    项目合作协议书.doc

    4. **合作费用**:协议中规定了合作费用的总额,通常包括乙方为完成项目所提供的所有服务和产品的费用。此外,还明确了付款方式和时间,即活动完成后7个工作日内一次性支付。 5. **双方权利与义务**: - **甲方**...

    PC原理图\PC原理图

    内存是电脑临时存储数据的地方,分为DDR3、DDR4等不同类型。原理图中,内存条通常由一组平行的线条和接点表示,每个接点代表一个数据位。内存控制器连接CPU,管理和协调内存访问。 三、主板(Motherboard) 主板是...

    七牛CDN可视化windows批量下载工具

    2. snapshot_blob.bin:V8引擎的另一个组件,可能包含JavaScript代码的预编译数据,有助于加快脚本执行速度。 3. icudtl.dat:这是Unicode的国际部件数据,用于支持多种语言和字符集,确保软件在全球范围内正常工作...

    真Android9-cm311-5 zg/yst 2+8 GK6323 已root乐家桌面卡刷包免拆禁休眠适合跑助手

    此外,我们的产品绝对无后门,保障用户隐私安全。特别适用于pcdn业务运行,性能卓越。乐家桌面1.4.8版本,界面友好,操作流畅,为用户提供舒适的观看体验。无论是魔百盒cm311-5、zg还是yst等型号,都能实现通刷,...

    TY1613 TY1612 S905L3B线刷U盘引导包

    TY1613 TY1612高安机型 S905L3B线刷U盘引导...2、将armbian镜像或PCDN跑量镜像用rufus烧录到U盘,3、将烧录好的U盘插入机顶盒,再给机顶盒通电,就能从U盘启动了。比在安卓系统中安装外置U盘引导APK软件更快,更方便。

    S905L3+S905L3B线刷U盘引导包

    S905L3+S905L3B线刷U盘引导包,通刷大部分...2、将armbian镜像或PCDN跑量镜像用rufus烧录到U盘,3、将烧录好的U盘插入机顶盒,再给机顶盒通电,就能从U盘启动了。比在安卓系统中安装外置U盘引导APK软件更快,更方便。

Global site tag (gtag.js) - Google Analytics