Achieve High Availability and Scalability Using ARR and Hardware Load Balancer

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.

To configure HTTP-based routing and load balancing, you must have a 3-tier deployment architecture that includes the following:

  • Tier 1 (Web) — Processes static content; routes and load balances the remaining dynamic requests to tier 2 servers.

  • Tier 2 (Application) — Processes dynamic content that relies on business logic.

  • Tier 3 (Data) — Stores data.

ARR is installed on the tier 1 server. When there is an incoming request, ARR checks the routing rules and forwards the request to the tier 2 servers. The tier 2 servers retrieve data from the tier 3 servers, and then send a response back to the client that sent the original request.

In active/passive mode, there are typically two ARR servers that process requests and that together 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:

Configure your hardware load balancer 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. This configuration is similar to the active/passive mode configuration. 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:

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

See Also

Community Additions

ADD
Show: