我对SQL Azure的实际工作原理以及我们需要实现什么以及什么是开箱即用有点困惑。
我读了这篇文章
https://azure.microsoft.com/en-us/blog/fault-tolerance-in-windows-azure-sql-database/
这继续关于自动故障转移,不需要干预。 这似乎意味着连接string甚至不需要改变。 这听起来像你可以有主站点和辅助站点使用相同的连接string。
到Windows Azure SQL数据库数据库的所有连接都由一组负载平衡的网关进程pipe理。 网关负责接受来自客户端的入站数据库连接请求,并将其绑定到当前承载数据库主要副本的节点。 网关与分布式结构协调定位客户数据库的主副本。 如果发生故障切换,网关将在绑定到发生故障的主节点的所有连接都可用时立即重新协商连接绑定。
然后我读了这篇文章
https://azure.microsoft.com/en-gb/documentation/articles/sql-database-designing-cloud-solutions-for-disaster-recovery/?rnd=1
这继续关于必须创build某种连接监视应用程序,为我们做故障转移(听起来有点容易失败本身 – 为什么这不是一个标准的事情?)。 并说,辅助网站应始终指向辅助数据库。 即根本没有什么第一篇文章听起来像。
那我错了吗? 第一篇文章(旧文章)是否过时了?
第一篇文章介绍了如何在单个数据中心内进行故障切换,指出“除了整个数据中心的损失,其他所有的故障都会被服务所减轻”。 如果数据库的硬件或存储失败,这将覆盖您。
第二篇文章介绍了如何使用地理复制来处理数据中心本身出现故障的情况,“在这种情况下,应用程序部署拓扑已针对所有应用程序组件受到影响并需要故障转移作为一个单元来处理区域灾难进行了优化。
他们都是正确的,并使用相同的服务涵盖两种不同的情况。