gpt4 book ai didi

微服务:数据库和微服务实例

转载 作者:行者123 更新时间:2023-12-04 03:56:48 25 4
gpt4 key购买 nike

假设我们有一个微服务 A 和一个 B。B 有自己的数据库。但是 B 必须水平扩展,因此我们最终有 B 的 3 个实例。数据库会发生什么?它是否相应地扩展,它是否为 3 个 B 实例保持相同的(集中式)数据库,它是否成为分布式数据库,会发生什么?

最佳答案

答案取决于应该从 3 个 B 实例共享哪种数据。一些场合:

  • B只是读数据,没有写任何东西,DB可以使用复制方法,三个B实例只是从不同的DB实例读取数据,并且DB被复制。
  • B实例可以在不中断其他B实例的情况下读/写数据,即每个B实例都可以有指定的数据,并且实例之间没有数据共享,数据库变成了三个模式相同但数据完全不同的数据库;
  • B 实例应该共享大部分数据,每个实例都可以偶尔将数据写回 DB。所以 B 实例应该使用一个 DB 和一些 DB 锁,以避免实例之间发生冲突。

  • 在其他一些不同的情况下,会有很多其他的方法来解决这个问题,比如使用redis这样的内存DB,B实例使用rabbitMQ这样的队列服务。

    关于微服务:数据库和微服务实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40856925/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com