我是 Azure 架构的新手。我想管理两个数据中心之间的故障转移。
例子:
数据中心A有 Web 应用程序、存储帐户、SQL 数据库。
数据中心B具有相同的服务 Web 应用程序、存储帐户、SQL 数据库。
当其中一个服务发生故障时数据中心A,流量管理器应将请求发送到数据中心B所有服务都应启动并对请求做出响应。
答案1
您为应用程序选择的实际实现实际上取决于您(而且主题本身很广泛且征求意见)。 但是,从客观的角度来看,Azure 内置了具有多地理位置支持的功能,您可以利用这些功能,具体到您正在调查的领域:
- 流量管理器。当您使用 Web 应用时:此服务提供多个 Web 应用之间的流量平衡,无论是在同一区域还是不同区域,并提供三种模式:故障转移、循环和性能(最近、延迟方面)。更多信息这里。
- Azure 存储。当您使用存储时:有多个层级可用,其中一个是读取访问地理冗余 (RA-GRS)。存储异步复制到备用区域。如果主区域不可用(或者您只是出于性能或其他原因想要从辅助区域读取),您可以选择通过稍微修改的存储端点(
yourstorage-secondary.blob.core.windows.net
例如)从辅助位置执行存储读取。注意:您无法选择此位置;Azure 区域是配对的。 - Azure SQL 数据库。由于您使用的是 SQL 数据库:标准层和高级层提供标准地理复制,而高级层提供最多 4 个可读辅助节点的主动地理复制。更多信息这里。
如何(或是否)使用这些功能取决于您……
答案2
为此,Azure 流量管理器是故障转移技巧的良好选择。您可以让 DC A 和 B 采用任何您想要的策略,例如故障转移/循环。
答案3
我找到了最适合这个问题的答案这里