具有高可用性的负载平衡 - 使用 AWS 的 SQL Server + IIS

具有高可用性的负载平衡 - 使用 AWS 的 SQL Server + IIS

这是我第一次使用 Windows 和 SQL Server 实现高可用性负载平衡。希望对我的计划设置进行一些验证和输入。

现在,通常当我想创建一个 HA 负载平衡的网站时,我会将数据库分离到多可用区 RDS 实例,然后生成多个指向 RDS 的 Ec2 实例。这在 MySQL 上一直运行良好,但 SQL Server RDS 不支持多可用区。

我读到 SQL Server 可以设置为见证服务器,它(如果我错了请纠正我)会实时镜像数据库,除非它无法访问数据库,此时它将成为主数据库。下面的设置是否能在使用相同数据库数据的同时正确地对传入请求进行负载平衡?如果主实例确实在某个时候关闭,然后又恢复,它是否会自动“赶上”来自服务器的数据?你会以不同的方式做到这一点吗?

负载平衡设置

答案1

根据您提供的图表,您将拥有第三个 SQL Server 框,以允许镜像数据库的自动故障转移。有关 HA 设置中镜像的描述,请参阅此链接 -http://msdn.microsoft.com/en-ca/library/ms179344(v=sql.105).aspx

只要您有第三个 SQL Server 实例充当见证角色,此设置就会起作用。这有点像 Windows 群集的工作方式,您需要让大多数服务器在线才能保持镜像数据库在线。如果您的主服务器离线,则镜像(辅助\备份)服务器将接管主服务器角色。一旦服务器重新上线,数据库就会自动同步。

此设置的另一个考虑因素是您的应用程序仅依赖于一个数据库。由于镜像是针对特定数据库而非特定服务器的,因此可能存在只有一个数据库“翻转”到辅助服务器的情况。如果 Web 应用程序依赖于多个数据库,则需要额外考虑如何处理这种情况(尽管 SQL Server 2012 使用可用性组解决了这个问题)

相关内容