具有网站和 SQL 服务器数据同步的 Azure 高可用性解决方案

具有网站和 SQL 服务器数据同步的 Azure 高可用性解决方案

我们有一个销售的 Web 解决方案,它附带 1 个专用的 Azure VM,包含运行应用程序所需的一切:

  • ASP.NET Web 应用程序
  • 生产环境
  • 质量保证环境
  • 包含 PROD 和 QA 环境的数据的 SQL 服务器

然而,一位特定客户有用户需求,希望在高可用性设置中运行其应用程序。他希望当一台服务器发生故障时,另一台服务器能够接管,反之亦然。

我对负载平衡/高可用性设置完全陌生,我知道 Azure 支持负载平衡,但我不知道如何让它工作。只需使用上述设置创建 2 台服务器,然后设置高可用性功能,是不是就这么简单?我担心的是如何让网站数据和 SQL Server 数据在 2 台服务器之间同步?尤其是后者。

或者如果我使用 Azure SQL 服务器而不是本地 SQL 服务器会更容易吗?或者也许引入更多服务器而不是 2 个?

答案1

首先,建议使用 Azure SQL,自己设置 SQL 服务器既不安全也不“标准”。Azure SQL 为您提供许多高级功能,包括高可用性和灾难恢复。使用 Azure SQL 并根据文档。现在,您的数据层已启用高可用性。

其次,假设您已将数据库迁移到 Azure SQL,请在当前 VM 的同一虚拟网络中创建一个新 VM。并在新 VM 中运行相同的应用程序。创建一个负载均衡器并将这两个 VM 添加到后端池。现在您的应用程序层已启用高可用性。

答案2

您可以在两台虚拟机上配置 StarWind VSAN,并在云中获得真正的高可用性存储解决方案。我相信本手册应该对你有用,检查一下。

答案3

您可以轻松地使用相同的服务器创建高可用性集,然后将此高可用性集设置为 LB 中的后端池。建议使用 Azure SQL 数据库,因为 Azure 具有许多支持高可用性应用程序的内置平台功能。但是,在同一 Azure VM 上使用本地 SQL 服务器很容易,并且由于应用程序和数据库托管在同一个 Azure VM 中,因此您可以获得快速响应。

对于 Azure SQL 数据库,数据在区域内同步复制。此外,要使用虚拟机实现高可用性,必须使用可用性集,其功能类似于故障域和升级域。

参考此文档

相关内容