Application Request Routing Version 2 Overview

By IIS Team

March 18, 2009

Introduction

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

Microsoft Application Request Routing (ARR) for IIS 7 and above is a proxy-based routing module that forwards HTTP requests to application servers based on HTTP headers, server variables, and load balance algorithms.

ARR Version 2 is an incremental release that includes all of the features from Version 1, and adds support for disk-based cache. More specifically, ARR Version 2 can be used to:

Note:

  • ARR Version 1 and ARR Version 2 cannot be installed side-by-side.
  • Previous releases of ARR Version 2 (Beta1, Beta2 and RC) and the ARR Version 2 RTW cannot be installed side-by-side.
  • ARR Version 2 RTW supports upgrading from ARR Version 1 RTW and from ARR Version 2 RC. If any other version of ARR is already installed, uninstall it before proceeding with the ARR Version 2 installation.
  • The minimum supported resolution for IIS Manager is 1024x768.

Features

ARR Version 2 includes the following key features:

  • Disk-based caching

  • In addition to the kernel memory cache in ARR Version 1, Version 2 adds support for disk-based cache, including support for a secondary network-based drive.
  • Cache hierarchy management

  • Define and manage relationships between cache nodes, including support for the Cache Array Routing Protocol (CARP).
  • Cache proxy node in CDN/ECN environment

  • Because ARR is a proxy-based HTTP request routing module with support for disk cache and CARP, ARR can be used as a cache proxy in a CDN/ECN environment.
  • Caching compressed objects

  • Disk-based cache stores compressed objects so that the objects do not have to be compressed in real time for every request. In addition, ARR gzip compresses objects even if the content server does not respond with gzip content-encoding.
  • Configure Caching with Query String Support in Application Request Routing
  • Browsing cached contents using IIS Manager
    Browse through cached contents across multiple drives in one consolidated graphical view in IIS Manager.
  • Removing cached contents
    Delete cached contents by matching URL patterns.
  • Running Scavenger.exe to delete cached content in the secondary drive as a standalone utility.
  • Overriding cache-control directives
    Manually override the cache-control directives in the response header to change the cache behavior.
  • Warming up cache node
    Proactively warm up your cache node with contents that will be in demand before they are requested. In addition, the contents can be pre-cached selectively only at the parent cache tier.
  • Intelligent byte-range support
    ARR converts the byte-range request into manageable segments to increase cache hit/miss ratio without sacrificing response time.
  • Intelligent live request support

  • ARR is designed to work with Live Smooth Streaming to support live content requests without overloading the live streaming server.
  • Caching while serving response

  • Caching large content, such as a movie clip, may take some time. ARR Version 2 is capable of caching the content while serving the response immediately.
  • Support for performance counters

  • The runtime statistics shown in the Monitoring and Management view are accessible as performance counters.

Support

ARR Version 2 is a Released to Web (RTW) product and support is provided by Microsoft Help and Support. The forum will remain active.

Get the module

  • Microsoft Application Request Routing Version 2 for IIS 7 (x86) here.
  • Microsoft Application Request Routing Version 2 for IIS 7 (x64) here.

Using the module

The following articles explain how to install and configure ARR Version 2. It is strongly recommended that these articles are read in the order listed below as they get progressively more advanced.

Changes in URL Rewrite Module

ARR Version 2 includes the updated version of URL Rewrite Module 2.0, which has several breaking changes that were introduced since the release of the URL Rewrite 2.0 Beta. The breaking changes are listed below:

  • If a distributed rewrite rule sets a server variable, then that server variable has to be added to a <allowedServerVariables> collection. This can be done by either using the URL Rewrite user interface in IIS Manager or by modifying the applicationHost.config file as shown below. Note that it is not necessary to do this if the server variable is set by using a global rule.
     <rewrite>
      <allowedServerVariables>
        <add name="MY_SERVER_VARIABLE" />
      </allowedServerVariables>
    </rewrite>
  • The HTTP_CONTENT_TYPE server variable has been replaced with RESPONSE_CONTENT_TYPE. If an outbound rewrite rule uses a pre-condition that checks the HTTP_CONTENT_TYPE, then that rule will stop working. Change the pre-condition to use RESPONSE_CONTENT_TYPE instead.



Discuss in IIS Forums