首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为微服务横向扩展/水平扩展数据库的最佳实践或设计

为微服务横向扩展/水平扩展数据库的最佳实践或设计
EN

Stack Overflow用户
提问于 2019-02-20 01:14:16
回答 2查看 433关注 0票数 2

微服务的主要好处是一种服务“类型”可以通过使用多个容器实例和负载平衡来扩展以提高吞吐量。

但有一件事是,多个实例(即,“服务类型”的容器)共享相同的数据库实例;当多个实例对该数据库实例进行读/写时,这可能会造成性能瓶颈。

传统上,我们会扩展该数据库实例的处理能力,以满足高需求。

我的主要问题是,在横向扩展/水平扩展方面,当前的最佳实践/设计/解决方案是什么,以便我们可以拥有该数据库的多个实例并提高性能?

特别是,我想归档的内容是:

为了保证数据的持久性和一致性,如果我想创建更多Availability

  • Can,一个实例停机了,另一个实例可以处理高负载平衡读取( High database-instance

load balance read )的负载,甚至可以写入多个数据库(

  • -> )

据我所知,

其中一个解决方案是Microsoft SQL Server为SQL Server容器提供高可用性,可以满足上述大部分要求(https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-container-ha-overview?view=sql-server-2017)。但我想知道有没有更好的解决方案来避免技术锁定?

我正在考虑的另一个解决方案是:通过使用CDC Stream数据从主数据库实例复制到多个实例。这允许复制读取。

但我仍然不能令人信服,因为为了保证一致性,每个服务实例都应该写入master- database - instance,这也可能会在master数据库实例上留下瓶颈。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54771633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档