Uploadcare如何构建每天处理350M文件API请求的服务堆栈

Uploadcare通过基于Python的微服务架构,利用AWS构建了处理350M文件API请求的无限可扩展服务。主要技术包括Django、Celery、Amazon S3、Amazon DynamoDB、PostgreSQL、Tornado和aiohttp等,实现了文件上传、存储、处理、缓存和交付。前端使用React,借助Node.js和JSON API与后端通信。
摘要由CSDN通过智能技术生成

  Uploadcare是一种文件基础设施即服务解决方案。我们为处理文件提供预制构建,为管理复杂技术提供简单的控件。这些控件包括widget,Upload API,REST API和CDN API。这些API每天一共要处理350M的请求。

  只需几行代码即可上传,存储,处理,缓存和交付文件。我们支持Dropbox,Facebook和许多其他外部来源上传。我们还允许用户将文件直接上传到他们的存储空间中。


  是的,你可以自己处理文件,你可以搭建基本的系统并运行地很快。但是存储怎么样?正常运作吗? 是否有清晰友好的用户界面? 能否快速交付到偏远地区? 我们分析了大多数用例,发现投资开发自己的文件基础设施是没有意义的。

  设置Uploadcare很快,解决了用户通常在处理大文件和批量文件时遇到的许多问题。此外,用户不再需要在每个浏览器中测试系统并维护基础设施。

  ploadcare利用AWS构建了无限可扩展的基础设施。建立在AWS之上,每天可以处理350M的文件上传,操作和交付请求。在2011年开始时,AWS唯一的云替代方案是Google App Engine,我们不想构建相当复杂的解决方案。我们也不想购买任何硬件或使用合作点。

  我们的堆栈处理接收文件,与外部文件源通信,管理文件存储,管理用户和文件数据,处理文件,文件缓存和分发以及管理用户界面仪表板。

  从一开始,我们基于微服务架构构建了Uploadcare。

  这些是我们在堆栈的每一层面临的挑战。

  后端

  Uploadcare的核心是运行在Python上。在佛罗伦萨的Europython 2011会议真正启发了我们,再加上事实是Python足以解决我们所有的挑战。另外之前我们还有在Python中工作的经验。

  我们选择使用Django构建主要应用程序,因为它在Python生态系统中的具有举足轻重的地位并且功能十分完整。我们的生态系统内的所有通信都通过几个HTTP API,Redis,Amazon S3和Amazon DynamoDB进行。我们决定使用这种架构࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值