mod_backhand
The cheap solution is mod_backhand
, distributed on
the same licence as Apache. It originated in the Center for
Networking and Distributed Systems at Johns Hopkins University.
Its function is to keep track of the resources of individual machines running Apache and connected in a cluster. It then diverts incoming requests to the machines with the largest available resources. There is a small overhead in the redirection, but overall, the cluster works much better.
In the simplest arrangement, a single server has the
site’s IP number and farms the requests out to the
other servers, which are set up identically (apart from IP addresses)
and with identical mod_backhand
directives. The
machines communicate with each other (once a second, by default, but
this can be changed), exchanging information on the resources each
currently has available. On the basis of this information, the
machine that catches a request can forward it to the machine best
able to deal with it. Naturally, there is a computing cost to this,
but it is small and predictable.
mod_backhand
works like a proxy server, but one
that knows the capabilities of its proxies and how that capability
varies from moment to moment.
It is possible to vary this setup so that different machines do different things — for instance, you might have some 64-bit processors (DEC Alphas, for example) which could specialize in running CGI scripts. PCs, however, are used to serve images.
A more complex setup is to use multiple servers ...
Get Apache: The Definitive Guide, 3rd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.