我正在尝试更好地了解 Windows IIS Web 服务器和 MSSQL 数据库服务器的负载平衡。
在我们的环境中,我有 2 个 IIS Web 服务器和 2 个 MSSQL 数据库服务器。我计划为连接到共享数据库的 Web 服务器安装一个容错 ACE 设备。
MSSQL db 被镜像到另一台服务器,因此如果其中一个 db 服务器发生故障,它会自动故障转移到第二台服务器。
为了完全实现负载平衡并保持高可用性,我是否必须实施 MSSQL 集群?如果对 Web 服务器进行负载平衡,必须对数据库服务器进行哪些考虑?
答案1
可能还有其他方法可以做到这一点,但我认为最好的方法是将 MSSQL 集群用于数据库部分。通常,一组负载平衡的 Web 服务器对数据库集群一无所知,但这可能会根据您的应用程序而改变。大多数应用程序都有单独的离散数据调用,因此只要存在相同的数据集,就不必担心连接到不同的数据库服务器。
当您说数据库是镜像的,那么它们究竟是如何镜像的呢?一种更简单、更常见的设置是实际上只拥有一个与集群一起故障转移的共享数据存储。这可能不像某些镜像选项那样容错,但镜像会引入更多变量。(镜像的频率是多少,持续镜像会产生多少负载,等等)