Proxy Server Design  «Prev  Next»

Lesson 3 Enhancing availability for inbound client requests
Objective Describe how to enhance the availability of Proxy Server for inbound client requests.

Enhancing Availability for inbound Client Requests

You can enhance the availability for Proxy Server inbound requests by using a combination of multiple proxy servers and round-robin DNS entries or Network Load Balancing. It is important to remember that while a Proxy Server array has the potential for creating fault tolerance for your proxy server solution, you must do more than just create the array to make it so. Suppose you create a three-server array and do nothing else; if the server that the proxy clients are using should become unavailable, those clients will no longer be able to access Internet resources despite the fact that the other members of the array are still functional. However, if you implement some additional measures, such as Network Load Balancing or DNS Round Robin, the other proxy servers will be able to step in if one of the servers should become unavailable.

Benefit of Specifying Multiple Proxy Servers

To enhance the availability of an Internet connectivity solution, you can specify additional proxy servers. If one server fails, the remaining servers will continue to respond to inbound requests for private network resources. By connecting these servers in an array, you can take advantage of the "reverse proxy" functionality available in Proxy Server 2.0. The reverse proxy will cache content accessed by Internet users, and retrieve objects from cache from Internet users that wish to access resources via the proxy server.

Specifying Network Load Balancing on each Proxy Server

You can also add Network Load Balancing to each of the computers running Proxy Server that are responsible for responding to inbound requests for private network resources. All of the proxy servers that belong to the same cluster share a common IP address known as the cluster IP address. If one server in the Network Load Balancing cluster should fail, the other servers using the same virtual IP address will be able to answer proxy server requests for the failed member in real time.
The following series of images illustrates the process that occurs when a remote client accesses a private network resource.
The Internet-based remote client requests IP address name resolution from the DNS server.
1) The Internet-based remote client requests IP address name resolution from the DNS server.

The DNS server returns the cluster-primary IP address as the IP address.
2) The DNS server returns the cluster-primary IP address as the IP address.

The remote client sends an inbound request to the Network Load Balancing cluster.
3) The remote client sends an inbound request to the Network Load Balancing cluster.

The proxy servers in the Network Load Balancing cluster evaluate the request, and one of the proxy servers responds to the request.
4) The proxy servers in the Network Load Balancing cluster evaluate the request, and one of the proxy servers responds to the request.

Warning:Network Load Balancing Clusters and Server Clusters are not the same thing. You cannot use both technologies simultaneously.

Specifying Round-robin DNS entry for each Proxy Server

Another option for enhancing availability for inbound clients is to specify a round-robin DNS entry for each of the computers running Proxy Server that is responsible for responding to inbound requests for private network resources. When an Internet-based client queries a DNS server for the IP address of the organization, the round-robin DNS process distributes the Internet-based requests across multiple proxy servers.
For example, three proxy servers make up a proxy array called proxyarray.msft. Each of the servers in the array has a unique IP address, so you need to specify an A-type resource record for each server as follows:

proxyarray.msft IN  A 10.0.0.1
proxyarray.msft IN  A 10.0.0.2
proxyarray.msft IN  A 10.0.0.3
When a query is made for the proxy array for proxyarray.msft, the DNS server will randomly return one of the IP addresses in this list. In this way, traffic to the proxy servers is load balanced. Fault tolerance is somewhat problematic; if one of the servers is not available, the request may either be retried or negatively cached, which would prevent a retry for five minutes, if you use Windows 2000 DNS clients to access the DNS server.
This illustration clarifies the process outlined in the preceding example.

This shows how the round robin specification works.
This shows how the round robin specification works.

In the next lesson, you will learn how to optimize a Proxy Server design for performance.