e-works数字化企业网  »  文章频道  »  基础信息化  »  企业上云

小程序、容器、SCF、直播加速…最全面的云端架构技术揭秘(上)

2017/12/6    来源:腾讯云技术社区    作者:佚名      
关键字:小程序  容器  SCF  
在刚刚闭幕不久的2017腾讯全球合作伙伴大会上,腾讯首次发布其AI开放全景图,并围绕AI主线进行腾讯全产品线开放布局。无论在AI方面的战略计划,还是机器学习、计算机视觉、语音识别等AI技术的开放和落地,其背后都离不开云的支撑,这就好比AI是火箭,云计算是助推器。
    在刚刚闭幕不久的2017腾讯全球合作伙伴大会上,腾讯首次发布其AI开放全景图,并围绕AI主线进行腾讯全产品线开放布局。无论在AI方面的战略计划,还是机器学习、计算机视觉、语音识别等AI技术的开放和落地,其背后都离不开云的支撑,这就好比AI是火箭,云计算是助推器。
 
    在火爆的云计算市场,腾讯云一直以来都比较低调,但这并不妨碍他深耕自己的技术,并把技术优势发扬光大。近期腾讯云与极客邦科技共同在北京举办了一场题为“解码腾讯云软件架构与应用”的技术沙龙,来自腾讯云和知乎的六位技术专家,详细介绍腾讯云在小程序、视频业务、无服务器云函数、中间件等领域的技术储备,也分享他们的洞察。本文整理了部分精彩干货内容,感兴趣的同学可以点击阅读原文下载完整版演讲PPT。
 
    实时音视频爆款APP背后的技术支撑
 
    腾讯云视频业务产品总监黄斌进行了开场演讲,他的演讲主题是《如何快速打造基于实时音视频能力的爆款APP》。对于网络直播、音视频应用,大家肯定都不陌生,无论是2016年的千播大战,还是以商业直播为依托的视频+,都让网络直播、视频从娱乐化走向垂直领域。
 
    不过实时音视频对技术的要求其实很高,要从基础和架构角度去做推流;要做基础平台;要进行音视频编解码;要进行各种格式的终端适配;要做多协议支持;要做美拍、美颜动效、打赏等等功能;另外,现在的用户打开一个主播的房间,或者进入一个电商的房间,已经不接受延迟了,秒开才是业界的标准。
 
小程序、容器、SCF、直播加速…最全面的云端架构技术揭秘(上)
 
    对此黄斌表示:“腾讯已经做了十多年的音视频,我们的团队就是基于QQ进行的延展,现在我们在做腾讯云的音视频业务,我们把这个业务逐步开放出来,提供完整的解决方案。”
 
    在视频直播、短视频方面,腾讯云通过各种SDK接口,把能力开放出来。在这方面腾讯云提供两套解决方案,第一套方案是标准化的,将主播端/源站、流媒体处理、CDN、观看端打通。
 
小程序、容器、SCF、直播加速…最全面的云端架构技术揭秘(上)
 
    还有一个解决方案是QQ音视频以前提供的多方视频通话能力,实际上这是一个非标准的解决方案,它其实是基于RTP协议改造的腾讯私有协议,这个私有协议经过腾讯验证,它的延迟性、稳定性、双向互动保证的百秒延迟性能,比标准流媒体协议要好;而且它在部署上面跟QQ全球化的部署共用很多资源,所以在资源保障上有优势,它最显著的特点是支持互动连麦。
 
小程序、容器、SCF、直播加速…最全面的云端架构技术揭秘(上)
 
    从应用角度,黄斌也进行了详解。移动直播分为轻量或者快速集成小直播,以及随心播两种;实时游戏音视频(TMG)在腾讯叫做移动游戏,但实际上主要的功能是做实时音视频;短视频也需要非常多的能力,比如掐头去尾、添加动效、做滤镜、动态美颜、添加音效字幕、快速分享,后台要做非常多的优化。当然短视频还有旅行、社交等不同场景,每个场景提供的技术支持上的侧重点也不同。
 
    对于直播的安全来说,要通过AI能力去做图像、声音的识别,完成直播鉴黄、大屏监看等工作,在这方面,腾讯的优图引擎对几千上万个房间实时去做智能鉴黄,能够完成90%识别工作,百万级并发的检索时间小于150ms。对此黄斌补充,通过将AI引入直播,绿幕技术、基于背景预学习的分割技术、基于VGG Net的人体识别网络都能轻松实现了。
 
    在直播向垂直领域渗透方面,无论电商、金融、在线教育,还是娱乐,实时的音视频能力在不同场景下都可以找到落地的应用,这也呼应了黄斌演讲一开始的观点。
 
    此外,H5 双向音视频(T-H5)也是腾讯云基于 QQ 十多年来在音视频通话技术上积累,结合腾讯浏览服务 TBS WebRTC 能力与腾讯实时音视频 SDK ,为客户提供多平台互通高品质视频通话能力的一款产品,终端用户只需要在手机 QQ/微信/QQ 浏览器和其它所有接入了 TBS 的 APP 中,通过 H5 页面发起视频请求,就可以轻松接入企业的实时视频服务。
 
    演讲最后,黄斌演示了一个小程序与实时音视频技术整合的一个业务场景,可以在小程序能力里面去做双向甚至多方的实时音视频。以车险理赔为例,打开定损小程序,通过实时音视频就可以在线完成查勘定损。
 
    无服务器云函数产品SCF详解
 
    serverless架构在今年引起广泛关注,腾讯云也推出了无服务器云函数产品SCF,腾讯云 SCF 无服务器云函数产品经理黄文俊进行了《用云函数结合消息服务实现数据的流式分析》的主题分享。
 
    黄文俊的分享从反爬虫场景引入,这是一个很常见的场景,围绕的是UA检测、IP检测、代理IP识别和封禁,这也是爬虫发展的几个历程。在第三个历程中,如果用户用代理IP,我们该怎么办?这个时候我们不可能一一找出IP,这就要借助代码的力量找出IP进行相应封锁了。怎么找出IP?最常见的就是大家传统用到的先存储再进行分析的方式,有没有更有时效性的方式?黄文俊介绍,腾讯云提供了一种流式的方式来进行分析。
 
    流式数据分析的特点,是需要分析的数据来源很多,例如物联网终端汇报采集的数据,手机上报自身地理位置,股市的行情变化,用户对网站链接的点击等等,同时这些数据都是在持续不断的产生。在这些数据里,其实持续上报的,都是很小的单条记录,但是在大量源存在的情况下,很小的单条记录也会形成超高的并发。之所以要采用流式分析,就是要加快分析速度,对一定时间内的数据立即进行分析,否则过期的数据其意义价值就不是那么大了。
 
    我们要怎么用流式分析解决需求呢?我们把存储和分析做一个并行,或者只要分析过程不要存储过程,这个存储还是做一个汇总,这个汇总可能只是一个缓存,用缓存来做最近的采集和收集,采集之后立刻分析,得出输出结果。这就可以使用腾讯云上的消息服务和云函数来实现,实际上这两个产品都可以称之为无服务器架构。
 
    无服务器是今年火起来的一个概念,从结构上来看分为两个部分,一个是后端即服务,是很多人在使用的对象存储、CDB云数据库或者消息队列产品;另外就是函数即服务,也就是腾讯云推出的SCF无服务器云函数产品。
 
小程序、容器、SCF、直播加速…最全面的云端架构技术揭秘(上)
  
    为什么称它为无服务架构?就是开通就能使用,开通创建配置后,就可以通过API或者SDK进行连接使用,不需要再去配置服务器,这些都交给云来进行运维和管理。对于开发者来说最关心的只是代码,用代码实现核心业务就可以;而无服务器架构另外一个特点,就是事件驱动型,由事件触发。
 
    具体到SCF无服务器云函数产品,目标就是托管计算,用户不需要关心后台的计算资源有多少,应该配多少的CPU、多大的内存,而仅仅关心上传代码、把代码托管到平台上来、配置好触发器就完成运行。
 
小程序、容器、SCF、直播加速…最全面的云端架构技术揭秘(上)
 
    针对日志分析demo,黄文俊表示:我们可以使用这种架构来完成流式分析。将日志汇总到kafka中的同一个topic中,然后使用kafka触发云函数分析。这里使用的是消息拉取方法,一次拉取一批,分析后的结果可以仍然缓存进入kafka的另外topic中,并在后续再次汇总进行后续处理。
 
    消息服务就是腾讯云现在提供的服务,目前分为三种,包括CMQ消息队列——提供队列模式和主题模式;Ckakfa——兼容开源Kafka,提供队列模式;MQ for IOT——支持mqqt接入,提供主题订阅模式。
 
    SCF的使用方式或者工作原理,就是用户在最初只要在平台上创建一个函数,把代码或者代码包、库上传上来,同时配置一个触发器。如果你的事件够多,所有的函数都是以并行实例的方式在运行,而这个扩缩容其实也在平台自动完成,而不需要用户关心我究竟要取多少实例,配置多大的资源来控制这些实例。
 
    对此黄文俊举例:“前面也说了SCF是要求无状态的,那么分析的结果怎么进行处理、怎么进行汇总呢?实际上就是用了Redis来进行缓存,同时进行计数。我又用了一个函数,再用一个定时触发器,比如每隔5分钟去访问一下Redis,看一下列表中哪些IP已经超阈值了,比如这5分钟它访问了2千次了,我认为它是爬虫,我就把这些抽出来,去生成一个封禁列表。”
 
    更进一步,黄文俊还给出了一个Demo,也是一个流式的处理过程,偏向于IoT设备采集,用IoT MQ产品,去接收所有IoT设备传来的消息。其中创建两个函数,分别做不同事情,第一个订阅的是日志,每个礼拜二上传的日志,接收这个日志再做一个汇总,放到Kafka中去,或者直接放到Topic,以文件方式记录下来;另外一种方式,订阅不同的主题,它是一个告警,某一个设备发生了告警,就会触发下面的运行,比如发邮件或者短信出去,就使用这个函数来进行处理。
 
    实际上云函数这款产品的关键点就在于触发器,云函数本身是一个连接的作用,要连接这些云产品、打通各个云产品,形成一些完整解决方案。黄文俊介绍:“目前云函数处于公测期,是免费的,后续正式运营之后的每一个帐号也有免费额度。”
 

责任编辑:李欢
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐