我已经构建了一个ASP .Net 5网站和Web API以及支持SQL数据库的模式。我现在想要超越测试并将它们部署到Azure。我想在整个大陆复制整个服务(ASP和SQL),以便在美国使用我们的应用程序的人被路由到美国的服务器,在欧洲使用我们的应用程序的用户被路由到欧洲的服务器等。然后某些东西会使不同大陆的数据库副本保持同步。
我找不到有关如何执行此操作的文档。我找到了关于在Azure中地理复制SQL服务器的文档,但这是针对那些想要在另一个位置安全地备份数据的人(例如,用于灾难恢复),而我需要在每个位置接受CRUD的多个实时位置的地方。
我该怎么做?如何使数据库保持同步,如何将流量从应用程序路由到最近的Azure服务副本?
(N.B。我不确定那些归结为查找文档的请求的问题是否符合Stack Overflow的要求,如果不欢迎这样做,请致歉。)
答案 0 :(得分:1)
我的文章Design an application for cloud disaster recovery using geo-replication in SQL Database应该有所帮助。
在本文中,我将介绍三种灾难恢复设计模式:
,这是第二个涵盖您的方案。
这是文章中描述模式的段落。
在此模式中,应用程序在切换到只读模式时 连接到辅助数据库。中的应用逻辑 主要区域与主数据库共存并在其中运行 读写模式(RW),辅助区域中的应用逻辑是 与辅助数据库共存并准备好运行 只读模式(RO)。应设置流量管理器使用 两个应用程序都启用了failover routing end-point monitoring 实例
这里有一个图表,总结了如果你按照文章中的建议最终会得到的架构。
my article中有更详细的内容;如果您有其他问题,请随时发布,我会跟进。