Implementing Network Load Balancing

The following are required for applications to work with Network Load Balancing:

  • They must use TCP connections or UDP data streams.

  • If client data changes, applications must provide a means of synchronizing updates to client data that is shared on multiple instances across the cluster.

  • If session state is an issue, applications must use single or Class C affinity or provide a means (such as a client cookie or reference to a back-end database) of maintaining session state in order to be uniformly accessible across the cluster.

Applications that are not compatible with Network Load Balancing have one or more of the following characteristics:

  • They bind to actual computer names (examples of such applications are Exchange Server and Distributed file system).

  • They have files that must be continuously open for writing (examples of such applications are Exchange Server and SMTP servers).
    In a Network Load Balancing cluster, multiple instances of an application (on different cluster hosts) should not have a file simultaneously opened for writing unless the application was designed to synchronize file updates. This is generally not the case.