Using the Application Request Routing Module

Published on July 02, 2008 by pharr

Updated on November 05, 2009 by pharr

Average Rating  Rate It (4)

RSS

Introduction

Microsoft Application Request Routing Version 1 for IIS 7 is a proxy-based routing module that forwards HTTP requests to content servers based on HTTP headers and server variables, and load balance algorithms.  Application Request Routing (ARR) can be used to:

  • Increase application availability and scalability.
  • Better utilize content server resources.
  • Facilitate application deployment including pilot management and A/B testing.
  • Lower management costs and create opportunities for shared hosters.

Application Request Routing relies on the URL rewrite module to inspect incoming HTTP requests to make the routing decisions, and therefore, the URL rewrite module is required to enable Application Request Routing features.

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

Features

Microsoft Application Request Routing Verion 1 for IIS 7 includes the following key features:

  • HTTP-based routing decisions
    Unlike hardware load balancers that make the routing decisions at the IP level, Application Request Routing makes the routing decisions at the application level.  Working with the URL rewrite module, powerful routing rules can be written based on HTTP headers and server variables.

  • Load balance algorithms
    A user-selected load balance algorithm is applied to determine which content server is most appropriate to service HTTP requests.  Six algorithms are provided.

  • Health monitoring
    Both live traffic and specific URL tests are used to determine the health of content servers.  A set of configuration parameters are provided to define the meaning of server health.  It is also possible to disable both live traffic and URL tests and use a custom health monitoring provider by setting the health of the servers by calling RSCA APIs.

  • Client affinity
    Using a cookie, Application Request Routing can affinitize all requests from a client to a content server.  It differentiates the clients behind NAT, so each client is treated independently.  This feature requires that the clients accept cookies.

  • Host name affinity
    “Host name affinity” is a specific feature for shared hosters.  This feature changes the deployment topology to minimize and streamline administration and to create additional business opportunities.  For more information about this scenario, refer to Shared Hosting Deployment using Application Request Routing.  There are two providers, round robin and memory, to determine which server the host should be affinitized to.

  • Multiple server groups
    Application Request Routing can manage multiple server groups, which are logical groupings of content servers in an environment.  This feature allows Application Request Routing to be used in pilot management and A/B testing scenarios.

  • Management and monitoring via UI
    All configuration settings and aggregated runtime statistics of Application Request Routing are managed and viewable using IIS Manager.

  • Failed request tracing rules
    Specific traces have been added to quickly troubleshoot and diagnose Application Request Routing.

Get the module

Download Microsoft Application Request Routing Version 1 for IIS 7 (x86) here.
Download Microsoft Application Request Routing Version 1 for IIS 7 (x64) here.

Using the module

These articles explain how to configure and achieve the core scenarios using Application Request Routing.  It is recommended that the articles are read in the following order as the scenarios get richer with each article:

Related Content

Comments

You must Log In to comment.