【问题标题】:Where to store shared resources files存储共享资源文件的位置
【发布时间】:2019-05-19 19:09:47
【问题描述】:

我们有 2 个 nodejs 应用程序(在 2 个不同的服务器上)使用相同的资源(一些 json 文件)。 我们需要从应用程序代码访问那些共享文件。这就是我们想要将它们移出的原因。

这样做的正确方法是什么?这在架构上是否正确?

  1. SFTP 服务器?
  2. S3?
  3. 其他选项?

我们使用 AWS 云。

【问题讨论】:

    标签: amazon-web-services amazon-s3 sftp fs


    【解决方案1】:

    您可以使用 s3 存储桶来存储文件。我做了一个项目,我们有两个 nodejs 应用程序,我们必须为两个应用程序提供一种密钥,然后托管在 s3 上并在需要时检索。如果您将两个节点应用程序都托管在一台机器上,您也可以在本地执行此操作

    【讨论】:

      【解决方案2】:

      目前最简单的选择是 S3。另一种方法是创建一个 EFS 文件系统并将其安装在两台服务器上。

      【讨论】:

        【解决方案3】:

        选项:EFS - 挂载文件系统; S3 - 存储为共享桶中的对象; DynamoDB - 将 json 作为文档存储在 NoSQL DB 中。您没有提及,但我假设您在 EC2 队列上运行,而不是无服务器,因此 S3 或 dynamo 将是不错的选择——您可以通过限制 EC2 分配的 IAM 角色的权限来提供安全性。

        【讨论】:

        • 我们使用自动缩放和 codeDeploy 运行 EC2 实例,而不是 beanstalk 和fleet
        • 谢谢。这在架构上是否正确(S3)?系统所需的这些文件
        • 这是很好的架构,除非您需要非常低的延迟,在这种情况下,我建议使用带有大量预置 iops 的 EC2 的高吞吐量 EFS。或者随机化 S3 中的前缀以帮助检索。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-24
        • 1970-01-01
        • 1970-01-01
        • 2021-10-10
        • 2015-10-27
        相关资源
        最近更新 更多