50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

用 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:001453
用户头像

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

关注

评论

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

可完全替代FTP的文件传输工具大集合

镭速

文件传输工具 替代FTP FTP传输文件

Spring Cloud Gateway:打造可扩展的微服务网关

程序员万金游

#java #微服务 #Spring #SpringCloud

MySQL5.5安装教程

小齐写代码

Java和Python对比,看完这篇你就知道有什么不同了

树上有只程序猿

Python java

智慧公厕厂家为城市智慧化建设提供城市卫生升级的力量

光明源智慧厕所

智慧厕所 智慧公厕 厕所改造 公厕改造

香港CN2服务器购买与部署全攻略,如何提速你的业务?

一只扑棱蛾子

香港服务器 CN2服务器

软件测试/测试开发丨Postman实战练习 学习笔记

测试人

Python 软件测试 测试开发

广交会场外蹭热度 第六届广州五金交易会如期召开!

极客天地

NSDT孪生编辑器助力智慧城市

3D建模设计

智慧城市 数字孪生

业财融合潮流下,构建国有企业全面预算管理体系

智达方通

业财融合 全面预算管理

沐浴阳光,贴心陪伴,全屋智能大模型应用论坛即将发布小度全屋智能新产品

新消费日报

金句频出!天翼云中国行·赣州站,大咖有话说!

天翼云开发者社区

云计算

如何开发区块链应用程序:分步指南

区块链软件开发推广运营

交易所开发 dapp开发 区块链开发 链游开发 NFT开发

OpenHarmony社区运营报告(2023年9月)

OpenHarmony开发者

Postman 调试 WebSocket 接口完整指南

Liam

Postman websocket 接口调试 测试工具 API 测试

Java基础面试题【七】线程池

派大星

Java 面试题

一图看懂CodeArts Governance 三大特性,带你玩转开源治理服务

云计算 软件开发 华为云

云行|乘云而上,“赣”劲十足,天翼云4.0暨赣州算力集群落成!

天翼云开发者社区

云计算 云服务

鲲山科技:引入和鲸 ModelWhale,实现量化策略的高效迭代

ModelWhale

数据科学 量化策略 量化分析

企业数字化转型的必选项:集成自动化

谷云科技RestCloud

APPlink

企业如何选择安全又稳定的文件传输协议

镭速

大文件传输 文件传输协议

打造次世代分析型数据库(六):如何从零实现向量化引擎

腾讯云大数据

数据库

基于知识图谱建模、全文检索的智能知识管理库(源码)

金陵老街

java

枚举探秘:Java中的神奇力量!

互联网工科生

枚举 java

英特尔宣布Intel 4已大规模量产,“四年五个制程节点”计划又进一步

E科讯

Apache Doris 2.0.2 版本正式发布!

SelectDB

数据库 大数据 数据仓库 实时数仓 apache doris

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