Cache Hierarchy Management Using Application Request Routing

by IIS Team

This section of the documentation applies to Microsoft Application Request Routing Version 2 for IIS 7 and Above.

Goal

To successfully explain and configure Application Request Routing (ARR) as an edge cache node using the Cache Array Routing Protocol (CARP).

ARR Version 2 extends the concept of server group that was introduced in ARR Version 1 to define the relationship between the cache nodes. A server group is a logical grouping of one or more member servers. In ARR Version 1, the member servers in the server farm are treated as application servers where ARR can forward the incoming requests. In ARR Version 2, the same concept is used to group the next "tier" of cache nodes where the requests should be routed to when there is a cache miss.

The illustration below shows how the server group (farm) is used to specify the parent cache nodes from the child (edge) cache node perspective:

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

The management of the cache nodes can be further simplified by using a shared configuration. In the above illustration, the child (edge) cache nodes share one configuration while the parent cache nodes share another. As a result, there will be two shared configurations that must be managed.

This walkthrough focuses on explaining the concept of server farms in managing cache hierarchy. For more in-depth information about configuring end-to-end child and parent cache nodes in content delivery networks and edge caching networks (CDN/ECN), see this walkthrough.

Prerequisites

This walkthrough assumes that you are familiar with the core ARR Version 1 features and scenarios:

You should also be familiar with the disk cache feature, which is new in ARR Version 2. The following article provides an overview:

If Application Request Routing Version 2 has not been installed, you can download it at:

  • Microsoft Application Request Routing Version 2 for IIS 7 (x86) here (https://download.microsoft.com/download/4/D/F/4DFDA851-515F-474E-BA7A-5802B3C95101/ARRv2_setup_x86.EXE).
  • Microsoft Application Request Routing Version 2 for IIS 7 (x64) here (https://download.microsoft.com/download/3/4/1/3415F3F9-5698-44FE-A072-D4AF09728390/ARRv2_setup_x64.EXE).

Follow the steps outlined in this document to install ARR Version 2.

Step 1 - Configure disk cache.

If you have not done so already, configure disk cache by following this article.

Step 2 - Define cache hierarchy.

To create and define a server farm using the UI:

  1. Launch IIS Manager.

  2. Select and expand the root of the server. This is your child (edge) cache node.
    Screenshot of the A A R one Administrator navigation tree in I I S Manager. The A R R one option is selected.

  3. To create a server farm, right-click Server Farms, and then click Create Server Farm....

    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. Enter a name for the server farm. In the example below, myParentCacheNodes is the name of the server farm. Click Next.

    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. The next step is to add the parent cache nodes to the server farm. On the Add Server page of the wizard, add as many parent cache nodes as appropriate. When there is a cache miss at the child node, the requests will be forwarded to one of the parent cache nodes using CARP. Click Finish.

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

  6. As is the case in ARR Version 1, ARR Version 2 relies on the URL Rewrite module to inspect incoming HTTP requests and server variables to make the request routing decisions. In the confirmation dialog box, click Yes to create the default URL rewrite rules for this server group.

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

  7. You have successfully created a server group with the parent cache nodes as its members.

Step 3 - Enable the Cache Array Routing Protocol (CARP).

ARR Version 2 includes support for CARP. CARP is used to determine which parent cache node to forward a request to when there is a cache miss at the child cache node.

To enable CARP using the UI:

  1. Launch IIS Manager.

  2. Select the server farm myParentCacheNodes, which you created in Step 2 above.

  3. The following icons are shown:

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

  4. Double-click Load Balance.

  5. Select Request hash from the drop-down list. The request hash in ARR Version 2 uses CARP.

  6. Click Apply to save the changes.

Summary

You have now successfully defined the cache hierarchy using ARR. For other ARR Version 2 walkthroughs, see the documents in this article. Note that in a CDN environment, the URL rewrite rules are much more complex than what this walkthrough has demonstrated. For information about how to configure ARR in a typical 2-tier (child and parent) cache nodes in CDN/ECN environment, see the following walkthrough.