规划步骤 3:规划 IIS Web 场负载均衡

作者:Keith Newman 和 Robert McMurray

在此使用 IIS 服务器规划 Web 场阶段,你将了解有关负载平衡的信息。 你还将了解如何使用应用程序请求路由 (ARR) 配置负载平衡。 ARR 是 IIS 的基于代理的请求路由和负载平衡模块。

在继续之前完成这些任务后,记录您的设计决策到 Step 4: Plan SSL Central Certificate Store

3.1. 使用 ARR 规划负载平衡

负载平衡是在多个 Web 服务器上分配工作负荷的方法。 目的是实现最优资源利用、最大化请求吞吐量、最小化响应时间和避免服务器超载。

负载平衡器使用多种算法来完成此任务。 最简单的算法之一是轮循机制,它将每个新的请求发送到不同的 Web 服务器,以尝试平均加载所有服务器。 其他算法是向特定服务器发送特定类型的请求,以尝试减少响应时间。

应用程序请求路由 (ARR) 是基于代理的路由模块,使用 HTTP 标头、服务器变量和负载平衡算法确定如何向内容服务器转发请求。 ARR 利用 URL 重写模块检查传入的请求。

ARR 的一项重要功能称为主机名称关联。 主机名称关联在请求和给定服务器(或一组服务器)之间创建关联(紧密的连接)。 这可以确保给定站点仅在已定义数量的服务器上使用资源。

准备场中所有服务器的 IP 地址列表。 你将需要该列表配置 ARR 负载平衡。

3.2. 调查其他 ARR 功能

除了负载平衡,ARR 还提供了许多功能,但那些功能不包含在此方案内。 下表汇总了 ARR 中可用的功能。

功能 说明
通过 UI 浏览缓存的内容 可在 IIS 管理器中查看跨多个驱动器的缓存内容(包括缓存的目录和文件)。
字节范围的支持 ARR 将字节范围请求分割成较小的部分,以在不影响响应时间的情况下帮助提升缓存命中/失误率。
缓存层次结构管理 ARR 允许您定义和管理缓存节点之间的关系。 它支持缓存阵列路由协议 (CARP),以便您可以配置 ARR 作为边缘缓存节点。
CDN/ECN 环境中的缓存代理节点 ARR 可以用作在内容分发网络 (CDN) 或边缘缓存网络 (ECN) 部署中的缓存代理。 原因是 ARR 是基于代理的 HTTP 请求路由模块,并支持磁盘缓存和 CARP。
缓存压缩的对象 ARR 将对基于磁盘的缓存进行压缩并存储,以便这些对象针对每项请求均处于未压缩状态。
为响应提供服务的同时进行缓存处理 ARR 可以同时提供实时的响应缓存较大的文件。
客户端相关性 ARR 可以使用 cookie 将关联到从客户端到内容服务器的所有请求。
基于磁盘的缓存 ARR 支持特定于用户的主缓存驱动器和基于网络的辅助缓存驱动器上的缓存内容。
失败请求跟踪规则 ARR 使用跟踪规则来进行故障排除和诊断失败的请求。
运行状况监视 ARR 提供在实时通信和特定 URL 测试中使用的配置参数,以确定内容服务器的运行状况。
主机名相关性 主机名相关性是特定于共享托管方的功能,可通过提供两套提供程序、轮循机制和内存确定主机关联的服务器,以此来更改部署拓扑。
基于 HTTP 的路由决策 应用程序请求路由与 URL 重写模块合作编写基于 HTTP 标头和服务器变量的路由规则,并制定应用程序级别的路由决策。
实时请求支持 通过在将请求转发到原始服务器之前整合请求并检查缓存失误请求,ARR 可支持实时内容请求。
负载均衡算法 ARR 提供了六种负载平衡算法,你可以使用这些算法标识用于为 HTTP 请求提供服务的内容服务器。
使用 UI 管理和监视 可在 IIS 管理器中查看 ARR 配置设置和运行时统计信息。
多个服务器组 ARR 可以在试点管理和 A/B 测试方案中管理多组内容服务器。
替代缓存控制指令 ARR 允许你手动重写控制缓存行为(如缓存和缓存持续时间的能力)的缓存控制指令。
移除缓存的内容 ARR 允许您通过匹配的 URL 模式中删除缓存的内容。
预热缓存节点 通过预想请求内容之前的需求,ARR 可让你预先缓存内容。 你可以仅预先缓存父缓存层或预先缓存父缓存层和子缓存层。

另请参阅