【问题标题】:Use a backend web service or not [closed]是否使用后端 Web 服务 [关闭]
【发布时间】:2014-02-11 21:28:05
【问题描述】:

我们正在构建一个需要在 S3 或 DynamoDB 中存储一些数据的新应用。此应用程序的用户数量相对较少(约 500)。

有两种设计方式。

  1. 我们可以使用 AWS 开发工具包直接从应用程序中保存信息
  2. 构建与数据存储通信并使用 HTTP 与此服务通信的后端 Web 服务。

每个选项都有多个优点和缺点,例如选项 #1 更简单并且避免了很多开销,但是选项 #2 更简洁并且提供更好的封装。此外,后端 Web 服务将来还可用于任何其他任务处理。

应该基于哪些方面来决定选择哪个选项?任何帮助将不胜感激

【问题讨论】:

    标签: java android architecture amazon-web-services soa


    【解决方案1】:

    我不相信选项 2 的开销值得,所以我会选择选项 1。

    请记住,Amazon S3 和 DynamoDB Web 服务(正如 here 为 DynamoDB 解释的那样,S3 也是如此)。这不像您是通过某个特定端口直接与数据库对话。

    如果我需要进行服务器端处理,我只会选择选项 2。如果只是为了存储数据,我会从选项1开始。您以后可以随时添加后端服务。

    【讨论】:

    • +1,保持简单,直到您有令人信服的理由增加复杂性。
    【解决方案2】:

    选项 2 一路向前,但在您的域中赋予该后端服务一些角色。想想 SOA。

    【讨论】:

      【解决方案3】:

      如果您只是在 Dynamo 中谈论“存储”,那么即使选项 1 也可以。 (请注意,您需要在应用程序中保留 AWS 机密和密钥)。

      如果您还需要“读取”,那么选项 2 更好,因为您将获得在后端和发电机之间保留缓存(如弹性缓存)以增加响应时间的灵活性。 Dynamo 是“单一区域”。除非您的读取发生在同一区域,否则它将非常缓慢 - 延迟问题。而且这个缓存将帮助您降低发电机的成本,因为您不需要将吞吐量提高到如此之高 - 没有什么比内存缓存更快了!

      【讨论】:

        猜你喜欢
        • 2015-11-29
        • 2011-03-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-19
        • 1970-01-01
        • 2013-09-18
        • 2011-01-29
        相关资源
        最近更新 更多