共享库与 REST 服务。优缺点都有什么?

Shared library vs REST service. What are the pros and cons?

有:

凭直觉,我想将 DynamoDB table 置于 REST 服务之后,该服务将实现我拥有的所有简单逻辑。不幸的是,这意味着给解决方案增加了很多可靠性和性能挑战,因为要使我的服务像 DynamoDB 一样好、有弹性和高性能并不容易。

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

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

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

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

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

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

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

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

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

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