Netra Proxy Cache Array User's Manual

Netra Proxy Cache Array Features

A Netra Proxy Cache Array consists of multiple hosts that, together, provide a single instance of a proxy cache service.

Array Features

The array software offers the following features:

How these features are provided is described in the following subsections.

Reliability

The array software provides reliability by:

  1. monitoring individual host hardware and software, and upon failure of some component...

  2. moving the service address of a service instance on a host to a different host.

Existing clients of a moved service address continue to be served. The DNS within the Netra Proxy Cache array removes the moved service address from proxy cache service provided by the array, so that new clients are never connected to it.

Scalability

The array software provides scalability by implementing a protocol that responds dynamically to changes in array membership. At a frequent and regular interval, the array daemon multicasts information messages over the control network. These information messages are, at once, a heartbeat and a means of conveying "health" information about each host.

When a host is removed--for example, if a machine is receiving a software upgrade--within milliseconds, the array detects the machine's absence and removes the machine's service address(es) from availability. Similarly, if a machine is added to the array, nearly immediately, the array detects the new host and makes its service address available for incoming client requests.

Load Balancing

The array software provides load balancing through a modified DNS round robin. The Netra Proxy Cache array forms its own DNS zone that consists of the service addresses associated with the proxy cache service. This zone is identified by its own domain name.

When a host fails or becomes overloaded, the array software removes the host from the array's DNS round robin, so that the down host receives no new client requests. This process is discussed in greater detail in "The Role of DNS".

What Array Features Mean to You

Some of the practical benefits of a Netra Proxy Cache Array are as follows:

Technical Details

The array software consists of a daemon and software objects that run on each of the machines in a Netra Proxy Cache array. On a periodic basis, the array software monitors the health (reachability, load, presence of server processes) of the hardware resources and proxy cache service on each machine. The array software multicasts these individual-host snapshots over an isolated network, called a control network, to which each member of the Netra Proxy Cache array is connected. Netra Proxy Cache Servers are equipped with a second network interface to enable connection to a control network. This second interface is referred to as the control interface.


Note -

The Internet Assigned Numbers Authority (IANA) has designated a multicast address (224.0.1.62) for use with Netra Proxy Cache Array software.


The result of the multicasts over the control network is that all hosts in the array are kept up to date on the health of each host. Responding to these regular updates, array software works to provide users with a continuous proxy cache service, in the face of hardware and software failures and in spite of varying loads on individual servers' resources.

The resource managed by array software is a service address. This is a logical IP address that is associated with the proxy cache service on a given machine. If a machine fails or becomes overloaded, array software can remove the availability of the service address or move the address to a different machine in the array.

A service address is associated with the network interface over which proxy cache server-client interactions occur. In terms of a Netra Proxy Cache array, this is the service interface and the network to which the interface is connected is the service network. The service network is, most often, the local area network (LAN) over which clients access a variety of network services.

The concepts of control and service networks are illustrated in Figure 1-4.

Figure 1-4 Control and Service Networks

Graphic

Figure 1-5 illustrates the concepts of control and service interfaces and addresses.

Figure 1-5 Example Netra Proxy Cache Configuration

Graphic

The Role of DNS

The array software relies on the DNS to provide load balancing, as described in "Load Balancing".

When all hosts and services are up and under a normal load, the array's DNS works as a conventional DNS round robin. It is when there is a host or service failure, or if a host becomes overloaded, that the array software intervenes to balance the load across the array. The software accomplishes this by removing the service address of the failed or overloaded host from the array's DNS zone. As a result of this intervention, no new client requests will be connected to a service address associated with a failed or overloaded object.

The threshold at which a host becomes overloaded, as well as the threshold at which a formerly-overloaded host is considered available again, are configurable parameters.

As part of its manipulation of the array's DNS zone, in a situation where one or more hosts in the array is moving back and forth between overload and normal load, the array software always keeps the least-loaded hosts in the zone.

In support of the array software's modification of the DNS round robin, you designate one host within the array as the DNS server for the domain formed by the array. (The choice of which host is arbitrary.) The DNS itself operates under control of the array software, so that if the DNS software or the host on which DNS is running fails, the service address of the DNS moves to a different machine in the array. Array software is designed so that one host runs the DNS and the remaining hosts in the array act as hot spares for the DNS host.

In addition to the array software's use of DNS for load balancing, the software also relies on the DNS outside of the array to resolve the name of the subdomain formed by the Netra Proxy Cache Array. This subdomain consists of the DNS zone formed by the service addresses in the array. This means you must configure your existing DNS to point to the array's DNS to resolve the name of the array's proxy cache service. An example of such a configuration is shown in Chapter 3 of the Netra Proxy Cache Array Configuration Guide.