首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果不共享数据库,如何扩展微服务

如果不共享数据库,如何扩展微服务
EN

Stack Overflow用户
提问于 2019-06-16 10:49:14
回答 1查看 135关注 0票数 0

https://dzone.com/articles/breaking-the-monolithic-database-in-your-microserv

当我想扩展一个服务(订单服务)时,如果订单的每个实例都有自己的数据库,那么当一些订单服务关闭时,我们就会有不完整的数据。

或者这些相同的服务在向上扩展时使用一个共享数据库?那么这意味着数据库必须有冗余服务器?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-16 11:00:14

那篇文章只说order服务不应该与其他服务共享数据库。

如果您希望(水平地)将order服务扩展到多个实例,这些实例仍然可以共享单个后备数据库(如果负载增加,您将需要垂直扩展)。这并不违反不在服务之间共享数据库的原则(因为所有内容仍然保留在order服务中)。

或者,您也可以对数据库进行分区/分片,以水平扩展整个数据库。

无论哪种方式,您的数据库都需要对整个服务可用才可用,所以如果您水平扩展它(即,您有多个节点),您将需要冗余,因为N个实例的实例故障风险比1个实例的风险更高(从好的方面来说,在分片设置中,如果您丢失了N个分片中的1个,则其他N-1个可能仍然可用,以便您可以继续为部分客户群提供服务--而单个节点垂直扩展的数据库在脱机时会降低所有内容)。

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

https://stackoverflow.com/questions/56615697

复制
相关文章

相似问题

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