ARR Key Concepts and Features

Applies To: Windows 7, Windows Server 2008, Windows Server 2008 R2, Windows Vista

This topic lists some of the key concepts and features from the Application Request Routing (ARR) module.

ARR is a proxy-based request routing and load balancing module for IIS 7. ARR dynamically makes Web traffic routing decisions to better utilize server resources, increase application scalability and availability, and facilitate in-application deployment and management. ARR leverages the URL Rewrite module to inspect incoming requests and make routing decisions based on HTTP headers and server variables.

ARR Version 2 introduces the caching feature and expands the capabilities of ARR to include support for configuring cache behavior, consolidating live streaming requests, viewing and managing cached content, pre-caching content in anticipation of expected demand, and more. Along with disk-based caching, ARR adds support for the Cache Array Routing Protocol (CARP), which allows ARR to be used as a cache proxy in content delivery or edge caching networks. For more information about this added feature, see the descriptions and links below.


Feature Description

Browsing cached contents using the UI

Cached contents across multiple drives, including cached directories and files, are viewable in IIS Manager. For more information, see Browse Cached Contents on Disk on ARR.

Byte-range support

ARR segments byte-range requests into smaller pieces to help increase the cache hit/miss ratio without impacting the response time. For more information, see Configure the Byte-Range Request Segment Size in ARR.

Cache hierarchy management

ARR lets you define and manage relationships between the cache nodes, including support for the Cache Array Routing Protocol (CARP), so that you can configure ARR as an edge cache node. For more information, see Manage Cache Hierarchy Using ARR.

Cache proxy node in CDN/ECN environment

ARR can be used as a cache proxy in a content delivery network (CDN) or edge caching network (ECN) deployment because ARR is a proxy-based HTTP request-routing module with support for disk cache and CARP. For more information, see Deploy Application Request Routing in CDN.

Caching compressed objects

ARR compresses and stores objects in a disk-based cache so that these objects do not have to be compressed in real time for every request. For more information, see Use Compression on ARR.

Caching while serving responses

ARR can cache large files while serving the response in real time.

Client affinity

ARR can use cookies to affinitize all requests from a client to a content server.

Disk-based caching

ARR supports caching content on user-specified primary cache drives and a secondary network-based cache drive. For more information, see Configure and Enable Disk Cache in ARR.

Failed request tracing rules

ARR uses tracing rules to troubleshoot and diagnose failed requests. For more information, see Use Failed Request Tracing Rules to Troubleshoot ARR.

Health monitoring

ARR provides configuration parameters to use in live traffic and specific URL tests to determine the health of content servers. For more information, see Configure a Health Test for an ARR Server Farm.

Host name affinity

Host name affinity—a feature specific to shared hosters—changes the deployment topology by providing two providers, round robin and memory, to determine to which server the host should be affinitized.

HTTP-based routing decisions

Application Request Routing works with the URL Rewrite module to write routing rules that are based on HTTP headers and server variables, and to make routing decisions at the application level.

Live request support

ARR supports live content requests by consolidating requests and checking the cache-miss requests before forwarding requests to the origin server. For more information, see Configure the Request Consolidation Feature in ARR.

Load balance algorithms

ARR provides six load balance algorithms that you can use to identify which content server to use to service HTTP requests. For more information, see Configure HTTP Load Balancing Using ARR.

Management and monitoring using the UI

ARR configuration settings and runtime statistics are viewable in IIS Manager. For more information, see View Runtime Statistics Using the Dashboard.

Multiple server groups

ARR can manage multiple groups of content servers in pilot management and A/B testing scenarios. For more information, see Use Multiple Instances of ARR Servers and Configure Pilot Program Management Using ARR.

Overriding cache-control directives

ARR lets you manually override cache-control directives that control caching behavior, such as the ability to cache and cache duration. For more information, see Manually Override Cache-Control Directives Using ARR.

Removing cached contents

ARR lets you delete cached contents by matching URL patterns. For more information, see Delete Cached Objects.

Warming up cache nodes

ARR lets you pre-cache content, anticipating demand before the content is requested. You can pre-cache the parent cache tier only or both the parent and child cache tiers. For more information, see Warm Up Cache Nodes on ARR.

See Also


ARR Common Tasks
ARR Tasks for IT Pros
ARR Tasks for Shared Hosters
ARR Tasks for ECNs and CDNs