Introduction

A cluster is one of those industry concepts that everyone sort of understands but for which no universally applicable definition exists. Generally speaking, a cluster is a group of two or more servers that share responsibility for a set of tasks and resources for carrying out those tasks . That definition is probably vague enough to avoid being flagrantly wrong in any of the half- dozen vendor-specific contexts in which it might be used. However, nonspecificity is a luxury of the marketing department and has no place in IT.

In the context of BEA WebLogic server, a cluster consists of three elements:

HTTP Server

This may be either the HttpClusterServlet provided with WebLogic, or some third-party web server configured with a proxy plug-in. Plug-ins exist for Apache, Netscape, and IIS. HTTP servers in the cluster fulfill two functions: (1) Return static Web pages to clients . (2) Proxy requests for nonstatic resources to the WebLogic servers of the cluster. [1]

WebLogic Server

One or more instances of WebLogic server, usually but not necessarily on different physical hardware.

Services

The services that the cluster provides.

[1] The configuration and use of HTTP servers is discussed in more detail in Chapter 5.

Nothing I've seen in the documentation explicitly rules out clusters consisting of one node, but in practice there is no point in clustering less than two servers. Similarly, while it is technically possible to have multiple instances of WebLogic server running on a single CPU, so doing will create unnecessary administrative headaches and cause a net performance drain. WebLogic is designed to be run at the rate of one server per CPU. Note, however, that that's "CPU" in the electrical engineering sense ("I paid a lot for my four-CPU server with fast/wide SCSI") rather than the emergingly popular bastardized sense where "CPU" is the box into which you plug your monitor. If you have multiple processors within one box, it can be acceptable to run an instance of WebLogic on each processor.

In addition to WebLogic servers, our clusters may make use of non-BEA products such as Apache, Netscape, or Microsoft's IIS. When used, such servers should handle only those clients that request static Web pages. Configure your server so that all requests for dynamic content and/or clustered objects are referred to the servers on the back end.

If a cluster is configured correctly, the client will never know that it is talking to more than one machine. Such a characteristic is called transparency.

Why Cluster?

Administering a cluster is more intricate than administering a single machine. However, the increased overhead involved in administering a cluster is amply justified. WebLogic clusters are designed to address two overwhelming business needs:

High availability

If the chances that a particular server will fail are 1 in N, the chances that two independent servers will fail simultaneously are 1 in N 2 . For three servers, the chance decreases to 1 in N 3 , and so on. The more servers you have, the less risk you run that your business will fall off the Web.

Note that the above rule is completely true only for independent servers, a theoretical phenomenon rarely seen in the wild. If, for example, you own two identically configured servers that were purchased at the same time, you will find that their component parts start failing at about the same time.

Scalability

When clustered services approach the limits of their capacity, you simply add another server.

Finally, note that all members of a cluster, including the Administration server, must be running the same version of WebLogic server.



BEA WebLogic Server Administration Kit
BEA WebLogic Server Administration Kit (Prentice Hall PTR Advanced Web Development)
ISBN: 0130463868
EAN: 2147483647
Year: 2002
Pages: 134
Authors: Scott Hawkins

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net