Application Request Routing

Application Request Routing (ARR) is an extension to Internet Information Server (IIS), which enables an IIS server to function as a load balancer. With ARR, an IIS server can be configured to route incoming requests to one of multiple web servers using one of several routing algorithms. By load balancing requests, high availability of web servers can be achieved without incurring the typically high costs of dedicated load balancing products.

ARR is currently available in version 3.0, released on July 26, 2013. The current version is supported in x86 and x64, and can be installed on IIS 7.0 or later (Windows 2008 or later). ARR is available as a download from Microsoft's download center, or via Microsoft's Web Platform Installer (WebPI).

ARR requires the URL Rewrite extension to function, and uses it for routing requests. ARR can be configured to redirect traffic based on server variables, URLs, cookies and more, and performs full layer 7 load balancing. ARR's functionality can be described as a load balancing and reverse proxy, although it is not as advanced as some dedicated reverse proxy products such as Microsoft UAG and dedicated load balancing solutions.

Features
ARR 3.0 supports the following features:
 * Reverse proxy / web publishing
 * Support multiple load balancing algorithms
 * Health checking
 * Caching
 * Content delivery network (CDN)
 * SSL Offloading
 * Layer 4 and 7 routing decisions
 * Usage reporting
 * Cookie based affinity
 * Application affinity opt-out
 * Rich API
 * WebSocket support