是否使用后端Web服务

时间:2014-01-28 16:39:47

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

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

有两种设计方法。

  1. 我们可以使用AWS SDK直接从应用程序保存信息
  2. 构建与数据存储通信并使用HTTP与此服务通信的后端Web服务。
  3. 每个选项都有多种优缺点,选项#1更简单,避免了大量开销,但选项#2更清晰,提供更好的封装。此外,后端Web服务可用于将来的任何其他任务处理。

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

3 个答案:

答案 0 :(得分:2)

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

请记住,Amazon S3和DynamoDB Web服务(如DynamoDB所述here,S3也是如此)。这不像是你通过某个特定的端口直接与数据库交谈。

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

答案 1 :(得分:0)

选项2一直向前,但在您的域中为后端服务提供一些角色。想想SOA。

答案 2 :(得分:0)

如果您只谈论Dynamo中的“存储”,即使选项1也可以。 (请注意,您需要将AWS保密并锁定应用程序)。

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