写点什么

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

  • 2007-07-29
  • 本文字数:1267 字

    阅读完需:约 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

2007-07-29 22:001369
用户头像

发布了 225 篇内容, 共 71.8 次阅读, 收获喜欢 52 次。

关注

评论

发布
暂无评论
发现更多内容

系统高可用

陈皮

Cause: java.sql.SQLTimeoutException: ORA-01013: user requested cancel of current

Java个体户

Druid

架构师训练营——第11周学习总结

jiangnanage

架构师训练营第 11 周——练习

李伟

极客大学架构师训练营

架构师培训 -11 安全、高可用

刘敏

奈学:红黑树(RedBlackTree)的概述

奈学教育

AVL

第11周学习总结

Bruce Xiong

架构师训练营——第11周作业

jiangnanage

week 11作业

Geek_z9dmvw

架构师训练营第十一章作业

叮叮董董

架构师训练营第十一章总结

叮叮董董

奈学:红黑树(RedBlackTree)的概述

古月木易

第11周 安全和高可用

陆不得

不可用与高可用

dongge

Week11总结

leis

对于三千万攀登者来说,云是安全绳,是登山杖,是趋顶之路

脑极体

week11 作业

雪涛公子

区块链技术可提高数据可信性和安全性

CECBC

区块链技术 安全性

架构师训练营第十一章作业

吴吴

【Elasticsearch 技术分享】—— Elasticsearch 存储一条数据, put 过程是什么样子的?

程序员小航

Java elasticsearch 搜索 ES Lucene Elastic Search

极客大学架构师训练营---习题

李朋

架构师训练营-第十一周-命题作业

sljoai

极客大学架构师训练营 命题作业 第十一周

甲方日常1

句子

工作 随笔杂谈 日常

合同、封条、电梯……通通上链!

CECBC

区块链技术 监管平台

架构师课程第十一周总结

dongge

图解 K8s 核心概念和术语

后端进阶

Docker Kubernetes 容器 云原生 k8s

架构师培训第十一周练习

小蚂蚁

Java二进制和位运算,这一万字准能喂饱你

YourBatman

位运算 二进制

《黑神话:悟空》出圈背后,国产3A游戏的技术新机

脑极体

week11 总结

雪涛公子

手写Spring框架之IOC

简爱W

用Amazon Web Service实现视频文件转换程序_SOA_Gavin Terrill_InfoQ精选文章