我们正在构建一个新的应用程序,需要在S3或DynamoDB中存储一些数据。此应用程序的用户数量相对较少(约500)。
有两种设计方法。
每个选项都有多种优缺点,选项#1更简单,避免了大量开销,但选项#2更清晰,提供更好的封装。此外,后端Web服务可用于将来的任何其他任务处理。
根据哪些方面应该决定选择哪个选项?任何帮助将不胜感激
答案 0 :(得分:2)
我不相信选项2的开销是值得的,所以我会选择选项1.
请记住,Amazon S3和DynamoDB 是 Web服务(如DynamoDB所述here,S3也是如此)。这不像是你通过某个特定的端口直接与数据库交谈。
如果我需要进行服务器端处理,我只会使用选项2。如果它只是用于存储数据,我将从选项1开始。您可以随时添加后端服务。
答案 1 :(得分:0)
选项2一直向前,但在您的域中为后端服务提供一些角色。想想SOA。
答案 2 :(得分:0)
如果您只谈论Dynamo中的“存储”,即使选项1也可以。 (请注意,您需要将AWS保密并锁定应用程序)。
如果您还需要“读取”,那么选项2会更好,因为您可以灵活地在后端和发电机之间保留缓存(如弹性缓存)以增加响应时间。迪纳摩是“单一区域”。除非您的读取发生在同一地区,否则它将非常缓慢 - 延迟问题。而且这个缓存可以帮助你降低发电机的成本,因为你不需要如此高地增加吞吐量 - 没有什么能像内存缓存一样快!