【问题标题】:Shared library vs REST service. What are the pros and cons?共享库与 REST 服务。优缺点都有什么?
【发布时间】:2019-12-18 21:02:37
【问题描述】:

有:

  • 要求在多个服务之间共享键值对存储
  • DynamoDB 中的一个简单表
  • 非常简单的键值对创建逻辑

直观地说,我想将 DynamoDB 表放在一个 REST 服务后面,该服务将实现我拥有的所有简单逻辑。不幸的是,这意味着给解决方案增加了许多可靠性和性能挑战,因为让我的服务像 DynamoDB 一样出色、有弹性和高性能并不容易。

我考虑为此目的创建一个共享库已经有一段时间了。该库将实现逻辑并直接连接到 DynamoDB 表。我预计 DynamoDB 表和将在库中实现的逻辑都不会发生很多变化。

这两种方法的优缺点是什么?

【问题讨论】:

    标签: rest architecture amazon-dynamodb system-design


    【解决方案1】:

    服务只是库的打包和部署选择。两者都绝对有效,具体取决于您的特定需求。

    我很好奇你为什么觉得有必要包装 dynamodb?您是否想在其之上放置一些特定的域逻辑来约束它? DynamoDB 已经是一项 RESTful 服务...将您自己的 RESTful 服务置于其之上可能是有利的,但您必须让我相信这样做的价值。如果您有需要限制功能的特定业务逻辑,将其打包为共享库具有一定的优势,特别是如果您可以封装该业务逻辑并将其与 DynamoDB 的实现分开。

    【讨论】:

      【解决方案2】:

      我假设更新共享库将不在您的控制范围内。并且客户端(图书馆用户)会在适合他们的时候更新。

      如果上述假设成立,您应该始终使用休息服务。考虑一些事情

      1. 你的 rest api 可能会使用缓存而不是一直调用 dynamodb。

      2. 您可能想要更新要放入 dynamodb 的数据的架构。

      3. 您可以同时使用另一个数据库。

      4. 您可能有一些验证逻辑,这些逻辑肯定会随着时间的推移而发展。

      【讨论】:

        猜你喜欢
        • 2016-04-26
        • 1970-01-01
        • 1970-01-01
        • 2023-03-15
        • 1970-01-01
        • 2010-11-21
        • 1970-01-01
        • 2019-12-06
        • 2010-11-01
        相关资源
        最近更新 更多