有哪些学做衣服的网站/国内十大软件测试培训机构

有哪些学做衣服的网站,国内十大软件测试培训机构,做五金上哪个网站推广,网站备案个人承诺书简介: 对于负责建设视频处理系统的技术团队而言,这样的业务场景就留给了他们一系列的挑战。 前言 近些年,在线教育行业飞速发展,为整个社会的知识传播提供了前所未有的便利性。通过多种形式的在线教育平台,学员与教师…

简介: 对于负责建设视频处理系统的技术团队而言,这样的业务场景就留给了他们一系列的挑战。

前言

近些年,在线教育行业飞速发展,为整个社会的知识传播提供了前所未有的便利性。通过多种形式的在线教育平台,学员与教师即使相隔万里也可以开展教学活动。借助丰富的网络课件,学员还可以随时随地的进行学习,真正打破了时间和空间的限制。在各种形式的网络课件中,视频课件自然是最直观表现力最丰富的形式,因此视频课件的市场占有率也在逐年提升。

视频处理需求分析

对于在线教育领域的视频课件出品方而言,每天都要对大量视频内容进行处理,下图展示了一个比较典型的场景:

image.png

(1)用户上传一个视频到平台后,会先在对象存储中对视频源文件进行暂存。

(2)平台对视频进行预处理,并打上水印。

(3)平台将视频文件转换为其他格式,并对分辨率进行调整,以适配各种不同的终端设备的要求。

(4)将处理好的视频文件保存回对象存储,并同步到CDN进行加速。

虽然从流程上来讲,这个场景比较简单,但在技术上的挑战其实是非常大的。视频课件的原作者来自于在线教育平台的广大用户,可能是平台负责内容输出的内部用户,也有可能是签约的教师,或者是平台认证过的分享型用户。用户上传视频的操作并没有固定的频率,往往集中在几个时间段,存在明显的波峰波谷。在业务高峰期,视频处理的需求量非常大,有的在线教育企业每天要完成数万个视频的转码工作。对于负责建设视频处理系统的技术团队而言,这样的业务场景就留给了他们一系列的挑战:

(1)如何确保这套系统在业务高峰期的高可用性?

(2)如何让每一个上传的视频尽可能快的处理完?

(3)如何尽可能的降低资源成本?

(4)如何高效率的应对需求的频繁变更?

基于这几个诉求,我们结合云计算的特点,来分析一下可行的解决方案。

使用SaaS化的云服务完成视频处理

随着各大云计算厂商产品线的不断丰富,我们可以很轻松的寻找到开箱即用的方案来解决这类典型的视频处理需求。以阿里云为例,视频点播类产品提供了视频采集、编辑、上传、媒体资源管理、转码处理、视频审核分析、分发加速于一体的一站式解决方案。

877.jpg

对于技术团队而言,采用这样的方案不用预先准备任何计算资源,甚至不用编写任何代码,就能够从无到有拥有一整套视频处理系统,完全不用考虑资源规划的问题。这样的方案非常适合在业务发展初级需要让系统快速上线的场景。

但随着业务的不断发展,开箱即用的SaaS化方案还是存在不少的局限性,基于如下的原因,大多数的技术团队还是会选择自己建设视频处理系统:

(1)对于之前已经通过FFmpeg技术实现的视频处理服务,因为涉及到复杂的业务逻辑,很难直接迁移到SaaS化方案上来。

(2)高阶的视频处理需求必须使用代码来实现:比如音频降噪、插入动态Gif水印、按固定频率截帧等等。

(3)使用高分辨率的大视频是行业趋势,对于超大视频的处理,比如10G以上的1080P视频,往往需要通过自定义的手段进行计算优化,才能保证处理的及时性。

(4)在很多种场景下,自建视频处理系统都会带来明显的成本优势。

(5)频繁的业务需求变更需要对整套系统进行更精细粒度的迭代管理,比如采用金丝雀策略降低新版本发布所带来的风险。

那么如何建设一套同时具备高性能、高可用性、高灵活性、低成本特点的视频处理系统呢?

基于分布式集群

最典型的方案是申请一组云虚拟机,在每台虚拟机上部署视频处理应用,组建成一个可以水平伸缩的服务集服。当有新的上频上传的时候,可以触发一个处理任务,并通过负载均衡或消息队列对任务进行分发,接到任务的应用节点负责完成对应的任务。

image.png

通过这个架构,在业务高峰期,用户上传视频行为比较密集,可以增加服务集群的实例数量,来提升处理能力。在业务低峰期,可以减少服务集群的实例数量,来减少资源成本。

此方案可以通过定制化的代码逻辑实现各种高阶的视频处理需求,灵活度非常高,配合可以水平伸缩的计算集群以及负载均衡机制,能同时满足性能和成本方面的需求,是一套被广泛采纳的方案。但在生产环境大规模运行的情况下,这套方案还是会暴露出很多问题:

(1)维护工作量大。

整套系统的维护工作量涵盖了虚拟机、网络、负载均衡组件、操作系统、应用等多个层面,需要投入大量的时间和精力来保障系统的高可用性与稳定性。举一个最简单的例子,当某个应用实例出现故障的时候,如何第一时间定位故障并尽可能迅速的将其从计算集群中摘除,摘除之后又如何保证之前没有完成的任务能够重新得到处理呢?这些都需要再配合完整的监控机制、故障隔离恢复机制来实现,甚至涉及到代码层的业务逻辑优化。

(2)弹性伸缩能力滞后。

有两种方式实现计算集群的弹性伸缩:通过定时任务触发,或者通过指标阈值(CPU利用率,内存使用率等)触发。不管采用哪种方式,都没有办法基于用户行为精细化管理,在遇到任务密度大幅度起伏的时候,会面临弹性伸缩能力滞后的问题。当来自用户的视频上传请求突增的时候,新增一个应用实例需要经过申请云资源>初始化>部署应用镜像>应用启动>加入负载均衡列表等多个阶段,即便通过Kubernetes+预留资源池等技术优化,也往往需要10分钟以上。

(3)资源利用率低。

滞后的弹性伸缩能力会导致伸缩策略制定的相对保守,造成计算资源的大量浪费,增加了使用成本,如下图所示:

image.png

有没有一种方案能能帮助技术团队专注于业务逻辑的实现,并可以根据用户的实际上传请求进行精细化的资源分配,实现资源利用最大化呢?随着云计算的飞速发展,各大云厂商都在积极探索新的方案,用更加“云原生”的方式来解决成本和效率的问题,阿里云提供的函数计算 + Serverless工作流就是这个领域非常具有代表性的方案。

函数计算

阿里云函数计算是事件驱动的全托管计算服务。通过函数计算,开发者无需管理服务器等基础设施,只需编写代码并上传。函数计算会为自动准备好计算资源,以弹性、可靠的方式运行代码,并提供日志查询、性能监控、报警等功能,确保系统的稳定运行。

相比传统的应用服务器保持运行状态并对外提供服务的方式,函数计算最大的区别是按需拉起计算资源对任务进行处理,在任务完成以后自动的回收计算资源,这是一种真正符合Serverless理念的方案,能最大化的提升资源利用率,减少系统系统维护工作量和使用成本。因为不需要预先申请计算资源,使用者完全不需要考虑容量评估和弹性伸缩的问题,只需要根据资源的实际使用量来进行付费。

下图展示了函数计算的工作方式:

image.png

对于使用者而言,把实现关键业务逻辑的代码上传到函数计算平台,就能以事件驱动的方式触发函数执行。函数计算已经支持各种主流的编程语言,对于即有的代码,可以通过几个非常简单的步骤部署到函数计算。函数支持的所有开发语言请参考开发语言列表。

每一次计算资源的分配,都基于事件的触发,一个事件往往对应着业务上的一个任务。函数计算支持多种多样的触发器,比如HTTP触发器的事件源就是HTTP请求,函数计算接收到一次HTTP请求后,会按照预设的规格,分配相应的计算资源来处理这个HTTP请求,请求处理完成之后,函数计算会根据用户的设置决定是否立即回收这一次拉起的计算资源。而OSS触发器,能够监控发生在对象存储OSS上的各种事件,当有用户上传新文件或者对文件进行修改的时候,自动触发函数执行,这种方式就刚好适合视频处理的业务场景。更多支持的函数触发器请参考触发器列表。

在计算资源的调度上,函数计算进行了大量优化,面对用户请求的突增,可以在毫秒级拉起大量的计算资源来并行工作,确保用户体验。

通过函数计算进行视频处理

基于函数计算的特性,搭建一套视频处理系统就非常简单,只需要配置一个OSS触发器,并将视频处理的核心代码上传到函数计算,就大功告成:

image.png

通过这套方案,使用者不再需要考虑资源管理、负载均衡、系统高可用、弹性伸缩、系统监控等一系列复杂的问题,函数计算平台会按最优的方式根据用户的上传行为调度计算资源,低成本高效率的完成视频处理任务。具体的操作步骤和代码实现可以参考视频处理Python实现Demo,在这个Demo中,演示了如何基于函数计算将用户上传的视频统一转为640 * 480分辨率的mp4格式视频。

代码开发

每一个创建好的函数都会对应一个指定的入口,函数计算会从这个函数入口开始执行,类似于本地开发中的Main()函数。以Python语言为列,一个简单的入口函数如下:

def handler(event, context):return 'hello world'

当有事件触发的时候,就会从入口函数开始执行,其中event参数携带了事件源相关的信息,比如在视频处理场景中,event参数携带了上传到OSS的Bucket以及文件名等信息。而context参数携带了函数的运行信息,包括函数名、超时时间、访问凭证等。通过这些信息,就能让执行代码完成预定义的各种操作。

函数计算支持各种主流的编程语言,在这个编程语言当中,Node.js和Python等脚本型语言含了丰富的类库,开发效率很高,而且运算实例启动的速度很快,能够支持对延迟特别敏感的任务,是函数计算最匹配的语言。Java和Go等语言不能像脚本型语言一样直接上传代码就能创建一个函数,需要预先进行编译,使用起来会稍微复杂一些,但配合函数计算提供的Funcraft等工具,也可以大幅度提升开发和部署的效率。不管使用哪种开发语言,都建议使用者下载官方提供的Funcraft工具,更轻松进行开发、构建、部署操作,请参考Funcraft。

像Java这样的语言,在虚拟机启动的时候需要加载比较多的类库,不能够像实现运算实例毫秒级启动并进入执行状态,不能直接使用在一些对于延迟特别敏感的业务场景。但配合函数计算提供的预留实例以及单实例多并发新功能,能够消除冷启动对业务的影响,并降低等待下游服务响应的影响,让函数计算上运行的Java语言也能实现API网关等对延时要求特别高业务场景。请参考预留实例和单实例多并发。

Serverless工作流

通过前面介绍的方案,可以轻松完成对短视频的各种定制化处理。但每一个函数计算实例,在资源规格上和总运行时长都不是无限的,目前函数计算实例可以拥有3G的内存资源和10分钟的执行时间,这也就说明,当一个视频处理任务需要占用3G以上的系统内存,或者总执行时长超过10分钟的情况下,处理任务是会失败的。

在5G时代,超大视频课件是非常普遍的需求,如何通过函数计算处理这样的大视频呢?这个时候就要出动另一个武器---Serverless工作流,来配合函数计算一起完成这个任务。

Serverless 工作流是一个用来协调多个分布式任务执行的全托管云服务。您可以用顺序、选择、并行等方式来编排分布式任务,Serverless 工作流会按照设定好的步骤可靠地协调任务执行,跟踪每个步骤的状态转换,并在必要时执行用户定义的重试逻辑,以确保工作流顺利完成。Serverless 工作流通过提供日志记录和审计来监视工作流的执行,方便您轻松地诊断和调试应用。

image.png

您可以使用 Serverless 工作流编排一系列的函数资源,同时定义流程中每一步的输入和输出,使用内置控制步骤编排复杂逻辑、发起并行执行、管理超时或终止流程。另外通过控制台能够使用图形界面显示出执行任务状态和执行顺序,同时控制台会显示每个步骤的实时状态,并提供每次执行的详细历史记录。通过Serverless工作流 + 函数计算的组合,我们可以突破时间和空间的限制,对任意大小的视频文件进行复杂的处理。

大视频处理

简单来讲,处理一个大视频的基本思路是:

(1)将视频先进行切片处理,把每一个分片的大小控制在合理的大小,以便单个函数计算实例可以对其进行快速处理。

(2)拉起多个函数计算实例对每一个分片进行并行处理。

(3)对处理结果进行合并。

通过Serverless工作流 + 函数计算进行视频处理的流程如下:

image.png

通过Serverless工作流提供的可视界面,我们能在工作流执行的过程当中,方便的查看到每一个步骤运行的信息,并配合自定义的Dashboard实现对整套视频处理系统的全面监控:

image.png

 

 

 

降低维护成本与资源成本,并大幅度的缩短项目交付时间。

在线教育领域对于视频处理的需求量非常大,而且对于处理速度、并发吞吐量、资源利用率等方面都有极高的要求,函数计算 + Serverless工作流方案组合帮助用户轻松建设弹性高可用的视频处理架构,是实现这些复杂需求的最优解。随着云原生的不断发展,Serverless相关技术还将深入更多的业务场景,有未来有无限可能!

 

原文链接
本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/515068.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文解开java中字符串编码的小秘密

简介: 在本文中你将了解到Unicode和UTF-8,UTF-16,UTF-32的关系,同时你还会了解变种UTF-8,并且探讨一下UTF-8和变种UTF-8在java中的应用。 简介 在本文中你将了解到Unicode和UTF-8,UTF-16,UTF-32的关系,同时你还会了解变种UTF-8&…

Gartner数据劲爆:阿里全球第三,华为中国第二!

看了一份数据,非常振奋人心,给大家分享一下。国外著名信息分析公司 Gartner,4月21号发布了一份数据,瞬间引发了朋友圈是刷屏。这份数据是讲什么的呢?云计算!可能由于疫情,很多公司上云的热情变得…

程序员:写作能收获什么?

简介: 很多程序员已经通过自己的个人博客或者公众号来进行技术沉淀,记录自己的成长。越来越多的程序员们也开始意识到了写作的重要性。程序员为什么需要写作?写作能带来什么收获?又有哪些额外的惊喜?本文介绍三位长期坚…

腾讯云~Redis6.2.6 伪集群 哨兵模式_搭建

文章目录一、redis准备3节点1. 创建目录2. 节点1~配置3. 节点2~配置4. 节点3~配置5. 启动redis二、新增sentinel配置1. sentinel_01.conf2. sentinel_02.conf3. sentinel_03.conf4. sentinel 启动5. sentinel 监控6. 哨兵验证一、redis准备3节点 1. 创建目录 mkdir /usr/loca…

教你 4 步搭建弹性可扩展的 WebAPI

简介: 本文整理自《Serverless 技术公开课》,关注“Serverless”公众号,回复“入门”,即可获取 Serverless 系列文章 PPT。 作者 | 萧起 阿里云云原生团队 本文整理自《Serverless 技术公开课》,关注“Serverless”公…

从 0 到 1,高德 Serverless 平台建设及实践

来源 | Serverless作者 | 邓学祥头图 | 下载于东方IC导读:高德从 FY21 财年开始启动 Serverless 建设,至今一年了,高德 Serverless 业务的峰值超过十万 qps 量级,平台从 0 到 1,qps 从零到十万,成为阿里集团…

看动画学算法之:排序-快速排序

简介: 快速排序也采用的是分而制之的思想。那么快速排序和归并排序的区别在什么地方呢? 归并排序是将所有的元素拆分成一个个排好序的数组,然后将这些数组再进行合并。 而快速排序虽然也是拆分,但是拆分之后的操作是从数组中选出一…

思考、创新、坚持——阿里做了七年前端,我的成长经验分享

在成长的未知道路上,我们总会遇到各种各样的问题,但是,所有的迷茫与逆境都能够帮助我们成长,我们要抓住每一个机会让自己进步,而不是徘徊不前。 淘系前端开发同学——林晚,今天就来和大家分享他这七年的成长…

存储进阶:怎么才能保证 IO 数据的安全?

来源 | 奇伢云存储头图 | 下载于视觉中国写成功了数据就安全了吗?思考一个问题:写数据做到什么程度才叫安全了?就是:用户发过来一个写 IO 请求,只要你给他回复了 “写成功了”,那么无论机器发生掉电&#x…

设计稿生成代码与 Serverless 的前世今生与未来!

简介: 云栖大会云上 Hello World 活动火热进行中!每位参与者都可收获一份阿里云出品的全球唯一序列号纪念证书! 一场脑洞实验 云栖大会云上 Hello World 活动火热进行中!每位参与者都可收获一份阿里云出品的全球唯一序列号纪念证…

ARMS在APM工具选型中的实践

简介: 当前的系统在数字化转型需求以及互联网架构实施的影响下,越来越普遍地使用了微服务架构,我们在享受微服务带来的好处(开发效率高, 独立部署, 水平扩展, 故障与资源隔离等等)外…

无人机、IoT 设备都有漏洞?专访以色列老牌安全公司 Check Point|拟合

从无序中寻找踪迹,从眼前事探索未来。 2021 年正值黄金十年新开端,CSDN 以中立技术社区专业、客观的角度,深度探讨中国前沿 IT 技术演进,推出年度重磅企划栏目——「拟合」,通过对话企业技术高管大咖,跟踪报…

从零入门 Serverless | 函数计算的可观测性

简介: 本文主要分为三个部分:概述中介绍可观测性的基本概念,主要包括 Logging、Metrics、Tracing 三个方面;然后详细介绍函数计算上的 Logging、Metrics、Tracing;最后以几个常见场景为例,介绍在函数计算中…

宜家:打造新零售时代的智能客户身份管理系统

简介: 宜家选择了阿里云应用身份服务(IDaaS)来为其提供一个包括统一认证、统一账户管理的CIAM解决方案,为所有前端提供统一的安全、可扩展和可靠的身份认证服务,包括灵活的认证配置、单点登录、多因素认证、社交平台登…

生意参谋牵手Quick BI 让数据再次驱动店铺经营

刚刚过去的一周,超两百家店铺体验了阿里巴巴官方全渠道、全链路、一站式数据平台生意参谋推出的全新功能,自助分析。 作为生意参谋联合Quick BI的初次尝试, “自助分析”面向店铺提供自助分析解决方案,支持店铺个性化数据报表制作…

到底是谁发明了物联网?

来源 | 鲜枣课堂作者 | 小枣君头图 | 下载于视觉中国1965年的越南战场,美军正深陷战争泥潭。突然有一天,北越士兵在胡志明小道发现了一些奇怪的东西。这些东西看上去像树枝,但实际上由金属构成,里面包含一些神秘的电子元件。这些士…

八种经典排序算法总结

前言 算法和数据结构是一个程序员的内功,所以经常在一些笔试中都会要求手写一些简单的排序算法,以此考验面试者的编程水平。下面我就简单介绍八种常见的排序算法,一起学习一下。 一、冒泡排序 思路: 比较相邻的元素。如果第一…

docker onlyoffice7.1.1 word excel ppt在线编辑、在线预览_部署01

文章目录1. 创建onlyoffice容器2. 启动在线案例3. 开放防火墙4. 浏览器验证5. 上传文件测试6. 在线编辑7. 测试主页面1. 创建onlyoffice容器 下面命令作用:拉取镜像、映射宿主机端口和docker内部端口、创建宿主机和docker容器挂载目录、拉取指定版本的onlyoffice/d…

漫画 | 程 序 员 脱 单 指 南

本文纯属娱乐,切勿模仿,模仿后果难以评估,务必小心再小心,谢谢!

基于JindoFS+OSS构建高效数据湖

为什么要构建数据湖 大数据时代早期,Apache HDFS 是构建具有海量存储能力数据仓库的首选方案。随着云计算、大数据、AI 等技术的发展,所有云厂商都在不断完善自家的对象存储,来更好地适配 Apache Hadoop/Spark 大数据以及各种 AI 生态。由于…