群集内的 IIS 群集

群集内的 IIS 群集

更新以反映 John Mahowald 的意见

在对该主题进行了大量研究并探索了我们系统的其他选项之后,我们发现集群的集群并不是一个好主意,原因如 Mahowald 所述,并且如下:

  1. 我们的系统使用自定义数据库(不是 SQL),可以轻松分区以适合服务器对,从而实现冗余。
  2. 客户端负载平衡可用于在每对服务器之间分配负载。
  3. 我们的系统中真正需要 IIS NLB 群集的唯一部分是专用的 Web 应用程序服务器。
  4. 数据服务器对采用主动-主动方法(由 Mahowald 建议)适用于我们的系统。并行运行的两台服务器在同时正常运行时可提供更低的延迟/更好的性能,并且在其中一台服务器发生故障时可提供冗余。

我们希望将由两台 IIS 服务器组成的集群作为由 10 个这样的构建块组成的更大集群的构建块(换句话说,由 20 台服务器组成的集群的集群)。

每台服务器都有一个唯一的 IP 地址,以及一个集群的共享 IP 地址。这些服务器模块(集群中的两台服务器)各自负责自己的数据,并充当 Web 应用程序的下载源。

叶节点服务器对必须共置,并使用由 ASP.NET 自动启动功能创建的唤醒计时器同步数据。此同步通过第二个 NIC 完成,该 NIC 仅用于内部网通信。JavaScript 客户端必须能够访问其中一个服务器对,才能将数据读取/写入两个服务器集群。它将同步任何更改的数据。我们的系统已经考虑了服务器之间的更新延迟。服务器对之间不会同步任何数据。

编辑以添加更多详细信息 目的是拥有一个服务器对(叶节点集群),当两个服务器都可用时,它可以提供冗余(针对其唯一数据集)并提高吞吐量。如果发生故障,一个服务器将以较低的容量承担负载,直到另一个服务器修复为止。

顶级集群将处理正常的应用程序下载功能,其中包括故障转移冗余。它将使用较低级别的集群 IP 地址为 10 个集群对提供 NLB。顶级集群将有效地管理 10 个唯一的 IP 节点,其中每个 IP 节点都是一个叶节点集群。

在网上搜索后,我仍无法确定 Windows 2012 IIS 是否可以处理这种情况。我读到的信息似乎没有排除这种情况。

是否支持此类配置?如能提供资源链接,将不胜感激。

问候…

答案1

通常所说的集群意味着主动-被动故障转移集群,使用某种技术实现高可用性和节点之间的协调。处理双节点集群、将其扩展到多个节点或实现主动-主动可能会很困难。

在许多情况下,主动-主动系统位于负载均衡器后面。

任何软件或硬件负载均衡器。多种商业或开源 (haproxy) 产品可以在您需要的任意后端集前处理多个服务地址。

然而,不一定是 Windows 网络负载均衡器,它具有网络性能考虑,没有那么多功能,并且可能无法扩展。

相关内容