对Azure托管的ASP .Net 5站点进行地理复制和流量路由,并跨大洲支持SQL数据库

时间:2016-02-16 08:27:15

标签: asp.net azure azure-sql-database geo-replication

我已经构建了一个ASP .Net 5网站和Web API以及支持SQL数据库的模式。我现在想要超越测试并将它们部署到Azure。我想在整个大陆复制整个服务(ASP和SQL),以便在美国使用我们的应用程序的人被路由到美国的服务器,在欧洲使用我们的应用程序的用户被路由到欧洲的服务器等。然后某些东西会使不同大陆的数据库副本保持同步。

我找不到有关如何执行此操作的文档。我找到了关于在Azure中地理复制SQL服务器的文档,但这是针对那些想要在另一个位置安全地备份数据的人(例如,用于灾难恢复),而我需要在每个位置接受CRUD的多个实时位置的地方。

我该怎么做?如何使数据库保持同步,如何将流量从应用程序路由到最近的Azure服务副本?

(N.B。我不确定那些归结为查找文档的请求的问题是否符合Stack Overflow的要求,如果不欢迎这样做,请致歉。)

1 个答案:

答案 0 :(得分:1)

我的文章Design an application for cloud disaster recovery using geo-replication in SQL Database应该有所帮助。

在本文中,我将介绍三种灾难恢复设计模式:

  1. 使用共置数据库进行云灾难恢复的主动 - 被动部署
  2. 应用程序负载平衡的主动 - 主动部署
  3. 用于数据保存的主动 - 被动部署
  4. ,这是第二个涵盖您的方案。

    这是文章中描述模式的段落。

      

    在此模式中,应用程序在切换到只读模式时   连接到辅助数据库。中的应用逻辑   主要区域与主数据库共存并在其中运行   读写模式(RW),辅助区域中的应用逻辑是   与辅助数据库共存并准备好运行   只读模式(RO)。应设置流量管理器使用   两个应用程序都启用了failover routing end-point monitoring   实例

    这里有一个图表,总结了如果你按照文章中的建议最终会得到的架构。

    Diagram showing traffic manager configured for performance routing

    my article中有更详细的内容;如果您有其他问题,请随时发布,我会跟进。