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:
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:
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.
Finally, note that all members of a cluster, including the Administration server, must be running the same version of WebLogic server. |