使用应用程序请求路由的缓存层次结构管理
作者:IIS 团队
此文档部分适用于用于 IIS 7 及更高版本的 Microsoft 应用程序请求路由版本 2。
目标
使用缓存阵列路由协议 (CARP) 成功解释和配置应用程序请求路由 (ARR) 作为边缘缓存节点。
ARR 版本 2 扩展了 ARR 版本 1 中引入的服务器组的概念,以定义缓存节点之间的关系。 服务器组是一台或多台成员服务器的逻辑分组。 在 ARR 版本 1 中,服务器场中的成员服务器被视为应用程序服务器,ARR 可将传入的请求转发到这些服务器上。 在 ARR 版本 2 中,使用了相同的概念来分组下一个“层”的缓存节点,当存在缓存失误时,请求应被路由到这些节点。
下图显示了如何使用服务器组(场)从子(边缘)缓存节点的角度指定父缓存节点:
使用共享配置可以进一步简化缓存节点的管理。 在上图中,子(边缘)缓存节点共享一个配置,父缓存节点共享另一个配置。 因此,将有两个必须管理的共享配置。
本演练重点解释管理缓存层次结构中服务器场的概念。 有关在内容分发网络和边缘高速缓存网络 (CDN/ECN) 中配置端到端子缓存节点和父缓存节点的详细信息,请参阅此处的演练。
先决条件
本演练假定你熟悉 ARR 版本 1 核心功能和方案:
还应熟悉 ARR 版本 2 中新增的磁盘缓存功能。 以下文章对此内容进行了概述:
如果尚未安装应用程序请求路由版本 2,可在以下位置下载:
- 此处为适用于 IIS 7 (x86) 的 Microsoft 应用程序请求路由版本 2 (
https://download.microsoft.com/download/4/D/F/4DFDA851-515F-474E-BA7A-5802B3C95101/ARRv2_setup_x86.EXE
)。 - 此处为适用于 IIS 7 (x64) 的 Microsoft 应用程序请求路由版本 2 (
https://download.microsoft.com/download/3/4/1/3415F3F9-5698-44FE-A072-D4AF09728390/ARRv2_setup_x64.EXE
)。
请按照这篇文档中概述的步骤安装 ARR 版本 2。
步骤 1 - 配置磁盘缓存。
如果尚未执行此操作,请按照这篇文章所述配置磁盘缓存。
步骤 2 - 定义缓存层次结构。
使用 UI 创建和定义服务器场:
启动 IIS 管理器。
选择并展开服务器的根目录。 这是子(边缘)缓存节点。
要创建服务器场,请右键单击“服务器场”,然后单击“创建服务器场...”。
为服务器场输入名称。 在下面的示例中,myParentCacheNodes 是服务器场的名称。 单击 “下一步” 。
下一步是将父缓存节点添加到服务器场。 在向导的“添加服务器”页上,根据需要添加任意数量的父缓存节点。 当子节点出现缓存失误时,请求将通过 CARP 转发到其中一个父缓存节点。 单击“完成”。
与 ARR 版本 1 中的情况一样,ARR 版本 2 依赖于 URL 重写模块来检查传入的 HTTP 请求和服务器变量,以便做出请求路由决策。 在确认对话框中,单击“是”,为此服务器组创建默认 URL 重写规则。
你已成功创建一个服务器组,并且其成员包含父缓存节点。
步骤 3 - 启用缓存阵列路由协议 (CARP)。
ARR 版本 2 支持 CARP。 CARP 用于确定在子缓存节点中出现缓存失误时要转发请求的父缓存节点。
使用 UI 启用 CARP:
启动 IIS 管理器。
选择在上面的步骤 2 中创建的服务器场 myParentCacheNodes。
将显示以下图标:
双击“负载均衡”。
从下拉列表中选择“请求哈希”。 ARR 版本 2 中的请求哈希使用 CARP。
单击“应用”保存所做的更改。
总结
现已使用 ARR 成功定义缓存层次结构。 有关 ARR 版本 2 的其他演练,请参阅这篇文章中的文档。 请注意,在 CDN 环境中,URL 重写规则比本演练演示的要复杂得多。 有关如何在 CDN/ECN 环境的典型 2 层(子级和父级)缓存节点中配置 ARR 的信息,请参阅以下演练。