Accessibility

Table of Contents

Managing Clusters with Enterprise Manager and Packaging Applications in ColdFusion MX 7

Configuring Clustering

Load balancing is not usually "application aware," its job is simply to route incoming requests. Session replication does not make the cluster application aware. The connector only routes requests if the server is running; the connector does not evaluate application status. The only approach that is application-aware is to use hardware. The cluster manager copies session data to each node in the cluster so that your application users do not experience any change in state, in the event of a server failure. You can configure sessions to be “sticky,” in which case, your setup routes a particular user to the same node for the duration of the session. In any event, sticky sessions or not, replicated data is always up to date on every node at the moment your application requests it.

Another thing to note is that there are no changes in the way you use the session object in your CFML code to take advantage of session replication. The cluster manager works under the covers and is entirely invisible to your application. An important aspect of session replication to keep in mind, however, is that since this feature is not part of the J2EE specification, the behavior of session replication is not consistent across the range of app servers that support it. Some application servers (such as IBM Websphere) explicitly document the fact that they will only replicate instances of classes found in the JDK. This means that if you develop an application that uses a session object that you may deploy on another app server other than JRun at some point, be conservative about the type of objects you store in session. Anytime the session changes it must replicate all of the session data for that request. This process can cause a lot of overhead if you store a lot of data in a session.