Azure地理复制中的问题

时间:2016-04-27 03:37:40

标签: azure azure-sql-database

简要问题:

我有两个网络应用程序作为端点,部署在美国西部和东部,添加到流量管理器。我有一个带有GeoReplica的Azure数据库(在USWest中为Primary,在USEast中为Secondary)。我还有一个RAGRS Azure存储帐户(USWest为Primary,USEast为Secondary)。

如果用户访问我们的网络应用程序,他将根据性能重定向到USWest或USEast Endpoint。

但他实际使用哪个数据库和存储帐户?如果他是USEast用户,根据我的理解,如果交易是Readonly,他将与USEast-Database,USEast-StorageAccount进行交易。然而,由于GeoReplica只保证最终的一致性,他会读出一些旧的数据吗?

或者是否有一些Azure可以阻止此问题的方法?

1 个答案:

答案 0 :(得分:3)

您是正确的,流量管理器会根据其配置将网络流量路由到您的网络应用端点,但对于您的网络应用来说是这样。调用数据库和存储帐户,将其视为主要与次要,而不是东部与西部,而不是“粘性”#34;或基于网络应用区域专用。

对于存储,Azure使用的虚拟端点等同于您的主存储,它可能是您的West,但始终可以故障转移到East(仍然使用此相同的端点)。来自https://azure.microsoft.com/en-us/documentation/articles/storage-redundancy/:"对于启用了GRS的存储帐户,首先会将更新提交到主要区域,并在其中复制三次。然后,更新将复制到辅助区域,在辅助区域中,它也会在不同的故障域和升级域中复制三次。"由于您确实有RA-GRS,您可以选择是从Primary,Secondary还是PrimaryThenSecondary读取,但同样,这意味着主要或次要,而不是" East"或者" West",它只用于读取。

对于Azure的SQL数据库,来自您的East或West Web应用程序的请求都将转到Primary,对于您来说是West(现在),而Azure SQL会将数据复制到Secondary,即East (目前)。那些可以在故障转移场景中翻转,记住。无论位于何处,您的所有Web应用程序数据库请求都将转移到主要数据库。