http://farm8.staticflickr.com/7020/6702134377_cf70482470_z.jpg文件上传到EC2,首先要EBS卷,然后移动到S3
了可怕的画好抱歉,但它似乎是一个更好的方式来组织我的想法和传达出来。我一直在努力研究如何创建一个最佳的去耦合轻松扩展系统,以便将文件上传到AWS上的Web应用程序。
直接上传到S3将工作,除了文件需要立即访问上传者的操作,然后一旦操纵,他们可以到S3,他们将被提供给所有实例。
我的想法是创建一个类似glusterfs的SAN,然后直接上传到服务器上。我还没有排除它,但从不同的来源,这种解决方案的可靠性可能不太理想(如果有人有更好的见解,我很乐意听到)。无论如何,我想制定一个更“开箱即用”(在AWS的情况下)的解决方案。
所以为了详细说明这个图表,我希望文件能够上传到它碰巧去的实例的本地文件系统,这是一个EBS卷。该文件的存储位置将不会提供给公众(即的/ tmp /上传/),它仍然可以通过例如,通过在PHP中的ReadFile()操作访问,使用户可以看到并上传后立即对其进行操作。一旦用户完成操作文件,一条消息将其移至s3可以在SQS中排队。
我的问题是再一次我保存实例上的文件“本地”(这可能是任何情况下,由于负载均衡),我怎么可以记录它是(在DB)的实例,以便后续请求通过PHP读取或移动文件会发现所述文件。
如果有人在此更多的经验,有一定的见解,我将非常感激。谢谢。
是的,这的确是我来(第一个不粘性会话)的解决方案。我喜欢它,因为它将上传负载从EC2实例中解放出来。EC2和S3之间的转换速度非常快,所以它工作得很好。 – Henry 2012-06-07 20:16:01