【问题标题】:Is it necessary to have separate db instance for each microservice instance of same microservice?是否需要为同一微服务的每个微服务实例提供单独的数据库实例?
【发布时间】:2021-07-10 16:56:04
【问题描述】:

假设我有一个微服务 A,它有 3 个实例。同样,对于微服务 B,B 服务也有 5 个实例。

我将为微服务 A 和 B 提供单独的数据库,这很好。但是A或B的每个微服务实例是否需要单独的db实例?

我的意思是说对于微服务 A 的 3 个实例,我需要有 3 个单独的 db 实例吗?还是 A 的所有实例都指向一个数据库实例?哪种方法更好?

【问题讨论】:

    标签: spring-boot microservices


    【解决方案1】:

    这个问题很广泛,没有更好或最差的方法,这完全取决于您的用例和用户负载。

    根据您的问题,我了解到您需要生成单个微服务的单独实例,因此理想情况下,服务 A 的所有实例都应该可以访问相同的数据。您可以创建多主架构,在其中您可以通过设置多主数据库将您的服务连接到每个副本。这篇文章给你一个概述scale-out-blog。然而,这样做会产生很多影响,您需要仔细设计您的服务来实现这一点。

    您还可以创建指向同一数据库的单独实例,您无需关心复制和其他复杂问题。

    【讨论】:

    • 明白。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2016-01-28
    • 2018-11-12
    • 1970-01-01
    • 2020-03-23
    • 2020-12-09
    • 2022-10-16
    • 2022-10-12
    • 2020-01-26
    相关资源
    最近更新 更多