BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

用Amazon Web Service实现视频文件转换程序

| 作者 Gavin Terrill 关注 1 他的粉丝 ,译者 郭晓刚 关注 0 他的粉丝 发布于 2007年7月31日. 估计阅读时间: 4 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

过去InfoQ已经报道过,Amazon的基础服务平台在节省成本方面上了一级新台阶,也让某些类型的应用得以利用它的可伸缩的计算和存储平台。最近有一个示例程序向我们演示了如何利用Amazon的三个关键Web Services构建一个视频文件转换服务:即简单存储服务(Simple Storage Service,S3)、简单队列服务(Simple Queue Service,SQS)和弹性计算云(Elastic Compute Cloud、EC2)这三个服务。

S3用于存储要转换的文件:

“Amazon S3不但是存储要转换的视频文件的最佳场所,也是存储我们的转换服务产生的输出文件的最佳场所。除了快速和可靠,我们还完全不需要担心磁盘空间不足的问题。”

为了实现服务的可伸缩性和高可用性,服务被设计成消息驱动的,其中利用了SQS的可靠消息传递。这保证了客户请求按照它们被接收到的顺序执行。

ConvertVideo服务是用Python编写的,其中使用了Boto类库,这个库提供了一系列用于集成Amazon Web Service的类。为了向EC2提供这个服务,必须先创建并注册一个AMI(Amazon Machine Image)文件,以便按需创建服务的实例。

在客户端,Boto库提供了一个命令行接口,可以用来上传一个目录下的所有文件到一个S3“桶”,并为每个文件发送一条SQS消息。一旦文件上传完毕,一个服务实例就会被启动来处理队列中的消息。

为了测试可伸缩性,我们现在用一个服务实例转换50个视频文件:

  • 平均处理时间:17.820000
  • 消耗时间:896
  • 产出:3.348214 事务/分钟

下一步我们用10个服务实例处理500个视频文件:

  • 平均处理时间:17.794000
  • 消耗时间:928
  • 产出:32.327586 事务/分钟

额外增加的服务实例使得产出以可预测的方式线性增长:

果然,平均处理时间和消耗时间几乎一样,而总体产出则大约是上一个例子的10倍,这正是我们所期望的结果。

教程还详列了转换500个视频文件的成本:

存储 2.5 GBytes $0.38/月
传输 2.5 GBytes $0.50
消息 1000 $0.10
计算资源 8个实例~20分钟 $0.80
  总计: $1.78

转换500个视频共花费约$1.78,也就是说转换每个视频文件的成本低于$0.004。

AWS基础设施看起来非常适合于像文件转换这样的计算服务,不过有人对这个缺少数据库的平台的实用性提出了疑问。Dare Obasanjo在他的博文《Amazon EC2 + S2不够好》中对缺少数据库表示惋惜,他正在试验一个Facebook应用:

“看起来要实现这个相当简单直接的应用超出了目前EC2 + S3的能力。S3主要适用于文件存储,虽然它为图片和CSS样式表的低成本存储提供了一个不错的选择,但在存储关系型数据和结构化数据上它不是一个好的选择。”

当然,Amazon在大规模服务上有丰富的经验。在《Google西雅图可伸缩性会议总结》一文中,Robin Harris就Verner Wogels(Amazon的CTO)的名言:“数据库是恐龙”发表了评论。也许Dynamo ——Amazon将在SOSP 2007上演示的可伸缩数据存储——会是AWS拼图中缺失的那一块。

查看英文原文:Using Amazon Web Services to Implement a Video File Conversion app

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT