nob*_*tta 9 instances horizontal-scaling microservices
假设我们有微服务A和B.B有自己的数据库.但是B必须水平缩放,因此我们最终有3个B实例.数据库会发生什么?它是否相应地扩展,是否为3 B实例保持相同(集中)数据库,它是否成为分布式数据库,会发生什么?
小智 7
答案取决于应该从 3 个 B 实例共享哪种数据。一些场合:
B只是读数据,没有写任何东西,DB可以使用复制方法,三个B实例只是从不同的DB实例读取数据,并且DB被复制。
B实例可以在不中断其他B实例的情况下读/写数据,即每个B实例都可以有指定的数据,并且实例之间没有数据共享,数据库变成了三个模式相同但数据完全不同的数据库;
B 实例应该共享大部分数据,每个实例都可以偶尔将数据写回 DB。所以 B 实例应该使用一个 DB 和一些 DB 锁,以避免实例之间发生冲突。
在其他一些不同的情况下,会有很多其他的方法来解决这个问题,比如使用redis这样的内存DB,B实例使用rabbitMQ这样的队列服务。
| 归档时间: |
|
| 查看次数: |
2322 次 |
| 最近记录: |