Web applications 数据库是否跨区域部署(web应用)?

Web applications 数据库是否跨区域部署(web应用)?,web-applications,distributed,Web Applications,Distributed,在多区域web应用程序中,主用户数据库通常位于单个区域还是跨多个区域复制并失去一致性?如果不考虑您的应用程序需求、预计吞吐量和您愿意做出的权衡,我认为不可能最终回答您的问题 我假设您正在考虑在复制场景中使用多个SQL DB服务器 您可以潜在地对数据进行切分,这样即使所有副本都有完整的数据集,每个区域应用服务器也只需要访问始终位于同一区域的子集。这种方法的有用性在很大程度上取决于您拥有什么样的数据以及您如何处理它们 如果您在使用公共云方面没有问题,您可以选择其中一个或两个,它们都提供具有不同一致性

在多区域web应用程序中,主用户数据库通常位于单个区域还是跨多个区域复制并失去一致性?

如果不考虑您的应用程序需求、预计吞吐量和您愿意做出的权衡,我认为不可能最终回答您的问题

我假设您正在考虑在复制场景中使用多个SQL DB服务器

您可以潜在地对数据进行切分,这样即使所有副本都有完整的数据集,每个区域应用服务器也只需要访问始终位于同一区域的子集。这种方法的有用性在很大程度上取决于您拥有什么样的数据以及您如何处理它们

如果您在使用公共云方面没有问题,您可以选择其中一个或两个,它们都提供具有不同一致性设置的多区域DBs。这意味着,尽管不是即时的,但您可以获得适当的延迟保证,这对于您的用例来说可能已经足够了


我认为不可能有100%一致的跨数据中心分布式系统。因此,如果您绝对需要严格的一致性,那么您可能需要一个DB。如果您特别提到用户数据库,那么所有这些复杂性可能都不值得付出努力,因为您可以将其放大一点,并以一种最大限度地减少数据库访问的方式设计用户安全性,例如,为后续请求使用签名JWT令牌。

和“主用户数据库”我假设每件事都只有一个真相来源,例如一个Mongo或Postgres数据库。