[.com原稿]当下,我们正处在信息高速发展的碎片化阅读时代,具有综合图文优势的短视频越来越多更受欢迎的人气。2017年,各大互联网巨头纷纷入局短视频领域,短视频的火爆程度超出了很多人的预期。短视频真正的竞争是内容和用户体验。作为短视频行业的先行者,一侠科技旗下的秒拍和小咖秀已经实现了单日播放量峰值超30亿,单日上传量峰值200万。他们如何确保用户体验不受上传和播放质量的影响?近日,以“TechNeo”为主题的第十五届科技沙龙在北京举行。来自壹侠科技的架构师贾超腾受邀参加了本次活动。2014年加入秒拍,推动秒拍上云、可视化日志分析、基础设施改造、服务改造、服务优化。他还热衷于高并发场景下整个服务链路的各种基础设施实践、性能调优和可用性保证。从他的分享中,我们可以了解到秒拍在播放环节的优化实践。秒拍后台服务的技术架构我们先来看看秒拍后台服务的基本技术架构,从上到下分为四层,如下图所示:最上层是Web,APP、微博等合作伙伴合作。他们直接面对用户,为用户提供最直接的产品服务。第二层是面向服务的业务逻辑API,提供活动和视频列表、用户列表等直观反映产品和业务逻辑的数据呈现。第三层是相对独立于业务逻辑的用户、视频等一系列细分服务。第四层是基础服务,比如关系服务、统计服务、搜索服务、推送服务、推荐服务、敏感词过滤服务、信息流、存储等,在整个服务流程中,上传和播放是非常核心的业务。下图是播放前上传资源的流程:客户端向业务逻辑服务器发送上传请求,业务逻辑服务器通知使用哪个上传点进行上传。七牛或者新浪S3分别负责存储上传的分片,然后上传者请求合并,业务服务器收到视频传输完成后的回调,更新状态。此时整个视频已经从物理资源处理到业务状态。接着进行转码和截图处理,上传后进入业务处理流程。其中,存储主要依赖第三方,视频截图、视频转码等服务主要采用自研服务。这里值得注意的是,资源上传过程中需要做很多优化。目前,移动端的功能已经足够强大,可以支持用户随意预览和更改各种特效。例如特效预览,在手机端编辑预览视频特效,一方面客户可以直观体验视频效果,另一方面可以充分利用客户端计算资源,减少处理业务转码压力。还有视频拍摄剪辑后的转码压缩,同样会在客户端进行初步处理,然后上传到业务服务器,再由转码服务进行二次处理,达到视频文件瘦身,减少用户消耗流量,提高用户上传速度。在视频制作端,我们有拍摄、剪辑、客户端转码、上传等相关统计数据,用于监控制作端各个环节的效率,促进各个环节的持续优化,优化各个环节从数据。可见的性能改进。回放调度历史演进综上所述,回放前资源上传有一些优化方法。接下来,让我们谈谈播放和调度。秒拍的播放调度经历了三个比较大的版本:业务逻辑直接返回播放地址,是播放流程最简化的版本。前期上传和播放效率是我们比较关心的问题,但目前最大的痛点是产品形态要符合市场需求。该版本主要是客户端直接请求业务API返回的视频资源地址,基于HTTP协议,下载后直接播放。基于检测点,CDN日志离线计算CDN质量并调度切入,是播放过程的进化版。随着业务的发展,每天视频的上传量和播放量都在增加,播放效率就显得尤为重要,因为它会直接影响到用户对产品的体验。此时我们在不同区域增加了检测点,用于检测播放和下载质量,收集数据点进行质量分发。同时,我们也会利用CDN下载请求日志进行分析和调度。这个版本的调度是通过离线计算判断***结果,然后业务逻辑API返回播放地址,客户端直接播放。第三个版本是独立的调度服务,实时+离线判断播放质量,调度。我们在上一版研究的基础上,提炼出一个相对独立的基于Nginx+Lua的调度服务,非常轻量级的处理逻辑,采集端的播放质量,以及省、市、地区、运营商不同CDN的质量用户所在的位置。做一个对比,然后给用户最终的CDN地址。除了播放质量,还会采集故障率、播放量等一系列参数指标,用于分析或故障快速恢复转移,避免合作CDN厂商节点负载过高影响播放速度.此外,调度服务还会做一些业务策略处理,比如在返回涉嫌违规的视频时进行判断,删除源站视频,同时清除CDN缓存。进化版还在自身IP数据库和IP数据库数据更新维护、反劫持、数据上报&日志分析等方面进行了迭代优化。秒拍目前使用的调度系统简化图如下:在播放调度方面,我们与多家CDN厂商合作,进行优质调度,实现快速接入,从而实现快速回流、弱业务逻辑、轻量级、效率高,灵活可控。不可预测的黑天鹅在业务发展和业务演进过程中,肯定会遇到不可预测的黑天鹅,比如业务内网中断、七牛宁波光纤被挖出等。服务的正常运行,我们采用了多个始发站的解决方案。当某个源站出现问题时,可以随时切换,同时可以实现各个源站之间的跨源站备份。在上传方面,也设置了多个上传点,灵活分配上传点,保证用户可以正常上传。在播放方面,检查服务的可用性,更及时地安排节点反馈。对于播放质量调度,可以根据服务质量调用最好的CDN。海量日志分析监控秒拍日志主要包括:服务器访问日志、错误日志、服务日志、应用日志、用户日志等。传统日志分析的痛点在于:日志量过大,分析单个日志太慢,日志分布在不同服务集群,不同节点无法快速定位服务节点。上下游状态不可知,定位问题,场景分析效率太低。失败后震撼群效应,一个反馈,多个群(部门)响应排查,耗费精力。针对传统日志分析的痛点,秒拍搭建了实时日志分析系统。下图展示了一些细节:ELK实时日志分析系统的主要功能是业务日志进来后直接进行分析,以图形化的方式,快速反馈服务状态和一些统计信息。当出现问题时,可以快速感知,也有基于ELK的服务监控。系统结合ELK,集成内部监控告警平台,实现整个视频拍摄、编辑、上传、转码、分发、播放的可视化指标比对,保障全链路高效,提供实时监控相关指标的时间告警,保证服务的稳定性。性能和可用性。视频和图片编转码质量是播放业务中不可或缺的一部分,其质量将直接影响到播放效果。转码服务是播放业务不可或缺的一部分。下图是整个转码服务的流程图:用户上传视频后,不同业务端会在线或离线提交转码任务,转码服务会进行异步转码,转出不同规格的视频或封面,以及提供给不同的合作伙伴,以不同的列表页形式展示。视频规格有多码流、16:9、webp、隐藏水印等,在转码过程中,在不影响视频清晰度和质量的前提下,将文件大小、码率等参数控制在最小。这样可以不断优化流量和加载速度,让用户流畅清晰地观看视频,节省大量流量。在多码流方面,秒拍采用可变码率方案,根据视频内容适配码率来控制视频编码。写于***:秒拍于2013年8月上线,自此发展至今,占据了一定的国内市场。未来秒拍将以数据节点为核心,将多活数据部署在异地。它会为云厂商隐藏大量不可依赖的数据信息,很难找到问题的根源。考虑到混合云的转型,还将完善自建CDN节点、容灾建设和监控统计的融合。目前,在短视频的竞争越来越激烈的情况下,希望秒拍未来不断突破创新,越走越远。让我们共同期待快速发展的短视频产业的未来。【嘉宾简介】贾超腾,下一代科技(秒拍、小咖秀、一智博)架构师。2014年加入秒拍,推动秒拍上云,可视化日志分析,基础设施改造和服务改造,服务优化。热衷于高并发场景下服务的各种基础设施实践、性能调优、全链路可用性保障。沙龙其他讲师的文章对CDN痛点透彻透彻,互联网老手说说CDN那些事!为高并发降温,美团高性能高可靠四层负载均衡MGW优化实践10月28日/北京,第十六期“TechNeo”沙龙,主题:《自动化运维与DevOps》,点击图片,立即注册。【原创稿件,合作网站转载请注明原作者和出处为.com】
