使用应用程序请求路由的缓存层次结构管理

作者:IIS 团队

此文档部分适用于用于 IIS 7 及更高版本的 Microsoft 应用程序请求路由版本 2

目标

使用缓存阵列路由协议 (CARP) 成功解释和配置应用程序请求路由 (ARR) 作为边缘缓存节点。

ARR 版本 2 扩展了 ARR 版本 1 中引入的服务器组的概念,以定义缓存节点之间的关系。 服务器组是一台或多台成员服务器的逻辑分组。 在 ARR 版本 1 中,服务器场中的成员服务器被视为应用程序服务器,ARR 可将传入的请求转发到这些服务器上。 在 ARR 版本 2 中,使用了相同的概念来分组下一个“层”的缓存节点,当存在缓存失误时,请求应被路由到这些节点。

下图显示了如何使用服务器组(场)从子(边缘)缓存节点的角度指定父缓存节点:

Diagram of how the server group or farm is used to specify the parent cache nodes from the child edge cache node perspective.

使用共享配置可以进一步简化缓存节点的管理。 在上图中,子(边缘)缓存节点共享一个配置,父缓存节点共享另一个配置。 因此,将有两个必须管理的共享配置。

本演练重点解释管理缓存层次结构中服务器场的概念。 有关在内容分发网络和边缘高速缓存网络 (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 创建和定义服务器场:

  1. 启动 IIS 管理器。

  2. 选择并展开服务器的根目录。 这是子(边缘)缓存节点。
    Screenshot of the A A R one Administrator navigation tree in I I S Manager. The A R R one option is selected.

  3. 要创建服务器场,请右键单击“服务器场”,然后单击“创建服务器场...”

    Screenshot of the navigation tree in I I S Manager. Server Farms is selected and a menu is shown. Create Server Farm is highlighted.

  4. 为服务器场输入名称。 在下面的示例中,myParentCacheNodes 是服务器场的名称。 单击 “下一步”

    Screenshot of the Create Server Farm dialog box. In the Server farm name box the text my Parent Cache Nodes is written. Online is checked.

  5. 下一步是将父缓存节点添加到服务器场。 在向导的“添加服务器”页上,根据需要添加任意数量的父缓存节点。 当子节点出现缓存失误时,请求将通过 CARP 转发到其中一个父缓存节点。 单击“完成”。

    Screenshot of the Create Server Farm dialog box. In the Server Address and Status columns, the options parent cache three online is highlighted.

  6. 与 ARR 版本 1 中的情况一样,ARR 版本 2 依赖于 URL 重写模块来检查传入的 HTTP 请求和服务器变量,以便做出请求路由决策。 在确认对话框中,单击“是”,为此服务器组创建默认 URL 重写规则

    Screenshot of the Rewrite Rules dialog box. The Yes and No buttons are found at the bottom.

  7. 你已成功创建一个服务器组,并且其成员包含父缓存节点。

步骤 3 - 启用缓存阵列路由协议 (CARP)。

ARR 版本 2 支持 CARP。 CARP 用于确定在子缓存节点中出现缓存失误时要转发请求的父缓存节点。

使用 UI 启用 CARP:

  1. 启动 IIS 管理器。

  2. 选择在上面的步骤 2 中创建的服务器场 myParentCacheNodes

  3. 将显示以下图标:

    Screenshot of the Server Farm icons. The icons include Caching, Health Test, Load Balance, Monitoring and Management, Proxy, Routing Rules, and Server Affinity.

  4. 双击“负载均衡”

  5. 从下拉列表中选择“请求哈希”。 ARR 版本 2 中的请求哈希使用 CARP。

  6. 单击“应用”保存所做的更改。

总结

现已使用 ARR 成功定义缓存层次结构。 有关 ARR 版本 2 的其他演练,请参阅这篇文章中的文档。 请注意,在 CDN 环境中,URL 重写规则比本演练演示的要复杂得多。 有关如何在 CDN/ECN 环境的典型 2 层(子级和父级)缓存节点中配置 ARR 的信息,请参阅以下演练。