我开发了一个应用程序,它通过使用来自MySQL的数据生成大文件(700mb +),然后将它们提供给用户。
我现在正在将应用程序迁移到Heroku。
为了将文件上传到Amazon S3,必须首先在文件系统中生成该文件,或者可以上传as a string,因为Heroku无法保证您的文件将在那里(dyno可能会重启或失败)无论什么原因)。
文件会非常大multipart upload will be used(我不确定字符串上传是否可以部分完成)。
我不知道我的计划是否能够正常运行,或者是否有更好的方法可以做到这一点。什么出问题,dyno在请求期间失败了?
我认为它应该如何运作: 假设应用程序已开始从数据库中获取数据,生成5MB字符串并将其发送到AWS,并循环遍历数据集,直到发送完整文件。
答案 0 :(得分:1)
我不知道我的计划是否能够正常运作
如果其他人的经历有任何迹象,答案是否定的。在2013年5月20日的这篇文章中,开发人员记录了他与Heroku和AWS的经历: “为什么我离开了Heroku,并注意到我的新AWS设置” http://www.holovaty.com/writing/aws-notes/
我建议使用Amazon EC2保留的实例。 要开始使用,您可以购买二手预约实例预订(“第三方”)。我最近以20美元的价格购买了三张预订,并且在租赁的剩余时间(两年)内每月订购少于15美元的预订,以便在三个地区运营,我不能更高兴。
亚马逊可以比其他任何人更快地写入S3,所以如果这是一个问题,那么EC2就有优势。此外,亚马逊不会为您进行升级,因为它会以Heroku的方式破坏兼容性。我希望这有帮助。