Achieve High Availability and Scalability Using ARR and Hardware Load Balancer for Shared Hosters

Updated: November 5, 2009

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

This topic describes how to use Application Request Routing (ARR) and a hardware load balancer to achieve high availability and scalability. ARR is a proxy-based routing module that uses HTTP headers, server variables, and load balance algorithms to determine how to forward HTTP requests to content servers. You can deploy ARR in active/passive mode to achieve only high availability, or you can deploy ARR in active/active mode to achieve both high availability and scalability. A hardware load balancer is a device that enhances the capacity and performance of application servers by distributing network traffic across multiple servers. Combining ARR and a hardware load balancer lets you deploy core ARR scenarios in your environment while achieving overall high availability and scalability.

ARR uses the URL Rewrite module to inspect incoming HTTP request headers and server variables to make routing decisions. Because routing decisions are made at the application level (layer 7), you can write routing rules that are based on application-level information. Hardware load balancers complement the ARR functionality by making routing decisions on the data level (layer 3 and 4) that are based on the application level. For more information, see Achieve High Availability and Scalability Using ARR and Hardware Load Balancer.

In a shared hosting deployment, you can use the host name affinity feature in ARR to maximize your server resources and to evenly distribute traffic across all your servers. When there is an incoming request, ARR load balances and affinitizes the request to a Web server. The Web server retrieves content from a file share, and then sends a response back to the client that sent the original request.

For more information about shared hosting in ARR, see Configure Shared Hosting Using ARR.

In active/passive mode, there are typically two ARR servers to process requests and to act as a failover server. This configuration can achieve high availability but is still limited by the maximum capacity of one ARR server.

You must have resources in the following configuration before proceeding:

  • ARR installed on two servers with shared configuration enabled.

    To set up shared configuration in IIS 7, see Shared Configuration.

  • ARR configured for shared hosting with the host name affinity provider.

    To configure the host name affinity feature in ARR for shared hosting, see Configure Shared Hosting Using ARR. The host name affinity feature uses the host name to determine how to affinitize requests to a particular server.

  • External Cache enabled and configured.

    To enable and configure the External Cache feature, see Use Multiple Instances of ARR Servers. The External Cache feature shares and maintains runtime state information, such as the affinitized mapping between host names and content servers, and between multiple ARR servers.

  • A 3-tier deployment architecture using ARR configured.

    To set up a 3-tier deployment architecture, see Configure a Three-Tier Deployment Architecture Using ARR.

Configure your hardware load balancer by using the guidelines that are specific to your hardware.

In active/active mode, two or more ARR servers are used to achieve both high availability and scalability. The ARR servers use a shared configuration for active/active mode similar to active/passive mode. The hardware load balancer is configured to load balance incoming requests to all available and healthy ARR servers. The ARR servers then forward the requests to the content servers.

You must have resources in the following configuration before proceeding:

  • ARR installed on two or more servers with shared configuration enabled.

    To set up shared configuration in IIS 7, see Shared Configuration.

  • ARR configured for shared hosting with the host name affinity provider.

    To configure the host name affinity feature in ARR for shared hosting, see Configure Shared Hosting Using ARR. The host name affinity feature uses the host name to determine how to affinitize requests to a particular server.

  • External Cache enabled and configured.

    To enable and configure the External Cache feature, see Use Multiple Instances of ARR Servers. The External Cache feature shares and maintains runtime state information, such as the affinitized mapping between host names and content servers, and between multiple ARR servers.

  • A 3-tier deployment architecture using ARR configured.

    To set up a 3-tier deployment architecture, see Configure a Three-Tier Deployment Architecture Using ARR.

Configure your hardware load balancer using the guidelines that are specific to your hardware.

See Also

Community Additions

ADD
Show: