Application Request Routing for IIS7 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 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 URL rewrite module to inspect the incoming HTTP requests to make the routing decisions, and therefore, the URL rewrite module is required to enable Application Request Routing features.
Download the modules:
- Microsoft URL Rewrite Module for IIS 7 (x86)
- Microsoft URL Rewrite Module for IIS 7 (x64)
- Microsoft Application Request Routing for IIS 7 (x86)
- Microsoft Application Request Routing for IIS 7 (x64)
- 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 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 the HTTP requests. Six algorithms are provided.
- Health monitoring
Both live traffic and specific URL test are used to determine the health of content servers. A set of configuration parameters are provided to define the meaning of server health.
- 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. It changes the deployment topology to minimize and streamline administration and to create additional business opportunities. For more information on this scenario refer to Overview of Shared Hosting Deployment Using Application Request Routing.
- 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 via IIS Manager.
- Failed Request Tracing Rules
Specific traces have been added to quickly troubleshoot and diagnose Application Request Routing.
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:
- Install Application Request Routing
- Define and Configure an Application Request Routing Server Group
- HTTP Load Balancing using Application Request Routing
- Configure 3-tier deployment architecture using Application Request Routing
- Pilot Program Management using Application Request Routing
- Shared Hosting using Application Request Routing
- Using Failed Request Tracing Rules to Troubleshoot Application Request Routing