我应该在同一微服务中使用一个还是多个数据库?

Sal*_*ina 5 microservices

所以,我刚刚开始学习微服务架构,所以如果这是一个显而易见的问题,请原谅我。

假设我创建了 2 个微服务UserPosts每个微服务都有自己的数据库,并且彼此解耦,试图遵循良好实践,架构如下所示:

在此输入图像描述

现在,突然,我开始收到大量对微服务的调用Posts,它无法处理请求,因此我想扩展它并创建它的新实例。

现在我有 1 个实例User 我有 2 个实例Posts

这两个实例是否Posts共享相同的数据库,或者每个实例都有自己的数据库,我必须找到一种方法来同步它们以保持数据一致性?

xar*_*rgs 6

这两个帖子实例是否共享同一个数据库

是的,他们共享同一个数据库。

无论您的微服务部署到多个实例还是一个实例,微服务的部署实例都会访问和使用属于该微服务的一个数据库。您的微服务的所有实例都应访问同一数据库。这是标准且最常见的用例。但也有例外。 是一个类似的问题,我详细解释了它。