Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 接收、存储、传递和删除a“;文件”;使用Amazon Web服务_Amazon S3_Amazon Ec2_Amazon Web Services_Amazon Ebs - Fatal编程技术网

Amazon s3 接收、存储、传递和删除a“;文件”;使用Amazon Web服务

Amazon s3 接收、存储、传递和删除a“;文件”;使用Amazon Web服务,amazon-s3,amazon-ec2,amazon-web-services,amazon-ebs,Amazon S3,Amazon Ec2,Amazon Web Services,Amazon Ebs,我已经在AmazonEC2上安装了Tomcat7服务器。我的一个servlet以多部分post的形式接收“文件”。我需要将这些文件存储在一个目录结构中,稍后另一个servlet将检索该文件,并将其发送到客户端,然后从AmazonWeb服务中删除 我的问题 我应该在哪里以及如何存储这些文件,以及如何使用servlet创建目录结构 我在看 尽可能快地访问该文件 只要不发送到客户端,就需要存储文件 您确实有两种选择: 1-将内容存储在您的本地实例存储中(对于您的实例存储,我强烈建议您使用EBS而不是实

我已经在AmazonEC2上安装了Tomcat7服务器。我的一个servlet以多部分post的形式接收“文件”。我需要将这些文件存储在一个目录结构中,稍后另一个servlet将检索该文件,并将其发送到客户端,然后从AmazonWeb服务中删除

我的问题 我应该在哪里以及如何存储这些文件,以及如何使用servlet创建目录结构

我在看

  • 尽可能快地访问该文件
  • 只要不发送到客户端,就需要存储文件

  • 您确实有两种选择:

    1-将内容存储在您的本地实例存储中(对于您的实例存储,我强烈建议您使用EBS而不是实例存储(请参阅背景)。这样可以更快地存储和检索您的文件,并且您可以随时在需要时重新缩放您的实例

    2-将文件存储在S3。存储/检索时间将较慢,但您可以获得“automagic”可扩展性、加密、增强的耐久性和可用性(无需投入精力)此外,由于文件不在特定的EC2实例中,您可以通过添加新实例来扩展web应用程序,同时将文件集中在S3上

    我的建议是S3,即使您在交付文件时可能会损失一些速度。设置两个环境并进行一些测试。这可能有助于您做出决定


    希望有帮助。

    您确实有两个选择:

    1-将内容存储在您的本地实例存储中(对于您的实例存储,我强烈建议您使用EBS而不是实例存储(请参阅背景)。这样可以更快地存储和检索您的文件,并且您可以随时在需要时重新缩放您的实例

    2-将文件存储在S3。存储/检索时间将较慢,但您可以获得“automagic”可扩展性、加密、增强的耐久性和可用性(无需投入精力)此外,由于文件不在特定的EC2实例中,您可以通过添加新实例来扩展web应用程序,同时将文件集中在S3上

    我的建议是S3,即使您在交付文件时可能会损失一些速度。设置两个环境并进行一些测试。这可能有助于您做出决定


    希望有帮助。

    +1获取@Viccari的答案。它很好地涵盖了选项

    但是,我不同意使用S3的结论,因为您需要
    尽可能快速地访问文件
    只要不发送给客户,就需要存储文件。

    S3的速度明显慢于基于EBS的存储。由于在检索一次之前,您只为单个客户端存储给定的文件,因此不需要S3提供的可扩展性。事实上,存储在S3中的数据复制到其他可用性区域可能需要相当长的时间


    如果您存储的数据将被多次提供,S3将是一个更合理的选择(只要其性能足以满足您的需要)。对于该用例(而不是您的用例),我还将在S3之上分层。

    +1对于@Viccari的答案。它很好地涵盖了选项

    但是,我不同意使用S3的结论,因为您需要
    尽可能快速地访问文件
    只要不发送给客户,就需要存储文件。

    S3的速度明显慢于基于EBS的存储。由于在检索一次之前,您只为单个客户端存储给定的文件,因此不需要S3提供的可扩展性。事实上,存储在S3中的数据复制到其他可用性区域可能需要相当长的时间


    如果您存储的数据将被多次提供,S3将是一个更合理的选择(只要其性能满足您的需要),我也会在S3上分层。

    你打算在很多时候保存很多文件吗?例如,你预计你的服务器在给定的时间点上会存储多少MBs、GBs的文件?@Viccari这取决于用户数量,目前我没有估计。首先,它会很小,但随着时间的推移,它可能会增长。你同意吗倾向于长时间保存大量文件?例如,您预计您的服务器在给定时间点存储多少MBs、GBs的文件?@Viccari这取决于用户数量,目前我没有估计。首先,它会很小,但随着时间的推移,它可能会增长。我同意您的观点,S3对于我的情况不是一个好的选择。我是我看的是EBS。文件传输的速度对我来说非常重要。我同意你的观点,S3对我来说不是一个好的选择。我看的是EBS。文件传输的速度对我来说非常重要。