【发布时间】:2018-08-19 14:50:47
【问题描述】:
如果多个微服务对同一个 DynamoDB 表进行读/写,这是一种反模式吗?
请注意:
- 我们有一个固定的架构,不会很快改变。
- 所有读/写都将通过 API 网关 + Lambda 通过 REST 服务进行
- 微服务部署在 Kubernetes 或 Lambda 上
【问题讨论】:
标签: amazon-dynamodb microservices aws-api-gateway
如果多个微服务对同一个 DynamoDB 表进行读/写,这是一种反模式吗?
请注意:
【问题讨论】:
标签: amazon-dynamodb microservices aws-api-gateway
在编写微服务时,建议不要共享数据库。那是因为它提供了轻松的扩展,并为每个服务提供了在涉及到他们的数据集时有自己的发言权。它还使这些服务之一能够对如何保存数据进行调用,并可以随意更改数据。这为服务提供了灵活性。
即使您的架构没有改变,您也可以确定一项服务在受到限制时不会影响其他服务。
如果您的所有 crud 调用都通过休息服务进行引导,那么您确实在数据库前面有一个服务层,是的,您可以根据微服务指南这样做
我仍然不会将这种方法称为反模式。只是集体经验表明,出于我上面提到的某些原因,最好不要与一个数据库交谈。
【讨论】:
我在这里有不同的看法,我将这种方法称为反模式。这里违反了一些关键原则:
解决方案,..IMO,
希望这会有所帮助!
【讨论】: