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

Do databases get deployed across regions (web app)?

在多区域 Web 应用中,主用户数据库位于单个区域或跨多个区域复制并失去一致性是否很常见?

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

我假设您正在寻找在 Multi-master 复制方案中工作的多个 SQL 数据库服务器。

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

如果您在使用 public 云方面没有问题,您可以查看其中一个 Azure Cosmos DB or AWS Aurora - 两者都提供具有不同一致性设置的多区域数据库。这意味着虽然不是立竿见影的,但您可以获得体面的延迟保证,这可能足以满足您的用例。

我认为不可能有 100% 一致的跨数据中心分布式系统。因此,如果您绝对需要严格的一致性,那么您可能只能使用一个数据库。鉴于您特别提到 用户数据库 ,所有这些复杂性可能不值得付出努力,因为您可以通过稍微扩大它并以最小化的方式设计用户安全性来逃避访问数据库,例如,为后续请求使用签名的 JWT 令牌。