Amazon dynamodb 由同一DynamoDB表支持的多个微服务?

Amazon dynamodb 由同一DynamoDB表支持的多个微服务?,amazon-dynamodb,microservices,aws-api-gateway,Amazon Dynamodb,Microservices,Aws Api Gateway,如果多个微服务读/写同一个DynamoDB表,这是一种反模式吗 请注意: 我们有一个固定的模式,不会很快改变。 所有读/写操作都将通过API网关+Lambda通过REST服务进行 微服务部署在Kubernetes或Lambda上 编写微服务时,建议不要共享数据库。这是因为它提供了易于扩展的功能,并使每个服务在涉及到数据集时都有自己的发言权。它还使其中一个服务能够接听关于如何保存数据的电话,并可以根据自己的意愿更改数据。这使服务具有灵活性 即使您的模式没有改变,您也可以确定一个事实,即一个服务在被

如果多个微服务读/写同一个DynamoDB表,这是一种反模式吗

请注意:

我们有一个固定的模式,不会很快改变。 所有读/写操作都将通过API网关+Lambda通过REST服务进行 微服务部署在Kubernetes或Lambda上
编写微服务时,建议不要共享数据库。这是因为它提供了易于扩展的功能,并使每个服务在涉及到数据集时都有自己的发言权。它还使其中一个服务能够接听关于如何保存数据的电话,并可以根据自己的意愿更改数据。这使服务具有灵活性

即使您的模式没有改变,您也可以确定一个事实,即一个服务在被限制时不会影响其他服务

如果您所有的crud调用都是通过rest服务进行的,那么您在数据库前面确实有一个服务层,是的,您可以根据微服务指导原则这样做


我仍然不会称这种方法为反模式。只是集体经验表明,出于我上面提到的一些原因,最好不要与一个数据库交谈

编写微服务时,建议不要共享数据库。这是因为它提供了易于扩展的功能,并使每个服务在涉及到数据集时都有自己的发言权。它还使其中一个服务能够接听关于如何保存数据的电话,并可以根据自己的意愿更改数据。这使服务具有灵活性

即使您的模式没有改变,您也可以确定一个事实,即一个服务在被限制时不会影响其他服务

如果您所有的crud调用都是通过rest服务进行的,那么您在数据库前面确实有一个服务层,是的,您可以根据微服务指导原则这样做


我仍然不会称这种方法为反模式。只是集体经验表明,出于我上面提到的一些原因,最好不要与一个数据库交谈

我在这里有不同的观点,我将这种方法称为反模式。这里有几个关键原则遭到了违反:

每个MS都应该有自己的有界上下文,如果所有MS都共享相同的数据集,那么它们的业务边界就会模糊。 DB是单点故障如果DB宕机,您的所有服务都会宕机。 如果您试图扩展单个服务并生成多个实例,则会影响数据库性能,最终会影响其他微服务的性能。 解决方案,……海事组织

首先分析您是否有MSA的案例,如果您的数据非常紧密地耦合并且相互依赖,那么您不需要这种体系结构。 在探索CQRS模式时,您可能希望使用不同的DB进行读写,并通过事件模式对它们进行同步。
希望这有帮助

我在这里有不同的观点,我将这种方法称为反模式。这里有几个关键原则遭到了违反:

每个MS都应该有自己的有界上下文,如果所有MS都共享相同的数据集,那么它们的业务边界就会模糊。 DB是单点故障如果DB宕机,您的所有服务都会宕机。 如果您试图扩展单个服务并生成多个实例,则会影响数据库性能,最终会影响其他微服务的性能。 解决方案,……海事组织

首先分析您是否有MSA的案例,如果您的数据非常紧密地耦合并且相互依赖,那么您不需要这种体系结构。 在探索CQRS模式时,您可能希望使用不同的DB进行读写,并通过事件模式对它们进行同步。 希望这有帮助