扩展微服务实例是否也会直接影响数据库实例?



我是微服务体系结构的新手,但我已经了解到使用这种体系结构的一个关键优势是缩放.

假设我们有一个微服务实例,它连接到一个Mysql数据库。

现在我们需要将放大意味着每个实例都有自己的数据库? 或者它将是3个实例和一个数据库?

欢迎提供任何信息。

通常你希望有一个单一的数据库支持微服务。否则,您只是在创建同一服务的多个实例。要避免锁定表和/或行是一个挑战,因此服务扩展是值得的。

经典SQL数据库很难横向扩展(通常不支持多个写副本,并且依赖于单个节点进行写)。如果您的服务是地理分布的,这也代表了一个挑战。有多种方法可以减少这些影响(不使用SQL数据库,消息队列),但哪种方法最匹配取决于每个上下文。 为了以防万一,在几个微服务之间共享数据库绝对是一种反模式。即使用数据库作为集成点。

相关内容

  • 没有找到相关文章