共享库与 REST 服务。优缺点都有什么?
Shared library vs REST service. What are the pros and cons?
有:
- 要求在多个服务之间共享键值对存储
- DynamoDB 中的简单 table
- 创建键值对的逻辑非常简单
凭直觉,我想将 DynamoDB table 置于 REST 服务之后,该服务将实现我拥有的所有简单逻辑。不幸的是,这意味着给解决方案增加了很多可靠性和性能挑战,因为要使我的服务像 DynamoDB 一样好、有弹性和高性能并不容易。
我考虑为此目的创建一个共享库已经有一段时间了。该库将实现逻辑并直接连接到 DynamoDB table。我预计 DynamoDB table 和将在库中实现的逻辑都不会发生很多变化。
这两种方法的优缺点是什么?
我假设更新共享库不在您的控制范围内。客户(图书馆用户)会在适合他们的时候更新。
如果上述假设成立,您应该始终使用休息服务。考虑一些事情
你的其他api可能会使用缓存而不是一直调用dynamodb。
您可能想要更新要放入 dynamodb 的数据的架构。
您可以一起使用另一个数据库。
- 您可能有一些验证逻辑,这些逻辑肯定会随着时间的推移而发展。
服务只是库的打包和部署选择。两者都绝对有效,具体取决于您的特定需求。
我很好奇你为什么觉得有必要包装 dynamodb?您是否想在其之上放置一些特定的域逻辑来约束它? DynamoDB 已经是一项 restful 服务...将您自己的 restful 服务置于其之上 可能 是有利的,但您必须让我相信它的价值这样做。如果您有特定的业务逻辑需要您限制功能,将其打包为共享库具有一定的优势,特别是如果您可以封装该业务逻辑并将其与 DynamoDB 的实现分开。
有:
- 要求在多个服务之间共享键值对存储
- DynamoDB 中的简单 table
- 创建键值对的逻辑非常简单
凭直觉,我想将 DynamoDB table 置于 REST 服务之后,该服务将实现我拥有的所有简单逻辑。不幸的是,这意味着给解决方案增加了很多可靠性和性能挑战,因为要使我的服务像 DynamoDB 一样好、有弹性和高性能并不容易。
我考虑为此目的创建一个共享库已经有一段时间了。该库将实现逻辑并直接连接到 DynamoDB table。我预计 DynamoDB table 和将在库中实现的逻辑都不会发生很多变化。
这两种方法的优缺点是什么?
我假设更新共享库不在您的控制范围内。客户(图书馆用户)会在适合他们的时候更新。
如果上述假设成立,您应该始终使用休息服务。考虑一些事情
你的其他api可能会使用缓存而不是一直调用dynamodb。
您可能想要更新要放入 dynamodb 的数据的架构。
您可以一起使用另一个数据库。
- 您可能有一些验证逻辑,这些逻辑肯定会随着时间的推移而发展。
服务只是库的打包和部署选择。两者都绝对有效,具体取决于您的特定需求。
我很好奇你为什么觉得有必要包装 dynamodb?您是否想在其之上放置一些特定的域逻辑来约束它? DynamoDB 已经是一项 restful 服务...将您自己的 restful 服务置于其之上 可能 是有利的,但您必须让我相信它的价值这样做。如果您有特定的业务逻辑需要您限制功能,将其打包为共享库具有一定的优势,特别是如果您可以封装该业务逻辑并将其与 DynamoDB 的实现分开。