Connection-level fault tolerance enables a client (AppServer client, SonicMQ Adapter, WebSpeed Messenger, or DataServer client) to have its connection request satisfied by any NameServer from a set of related NameServers. You can configure NameServers for fault-tolerant operation using two different techniques, and you can use these techniques independently or together:
NameServer replication — Where you configure multiple NameServer instances within a single subnet on different machines to listen on the same UDP port. Clients send connection requests and Unified Brokers send registration requests to all NameServer instances using UDP broadcasting. Using UDP broadcasting, the registration information from brokers is replicated on each NameServer that is listening (hence NameServer replication). Similarly, each client connection request is sent to each of the replicated NameServers.
NameServer neighbors — Where you configure multiple NameServers on machines located in one or more subnets so that an initial NameServer instance receives the client connection request. If this initial NameServer cannot resolve the request, it passes the request on to a specified list of NameServer neighbors. These NameServer neighbors then attempt to resolve the connection request. Each NameServer neighbor represents the controlling NameServer for a separate Unified Broker instance.
Using either or both techniques, a client can receive multiple responses from multiple NameServers. The client uses the first response that indicates that the requested Application Service was found. A client only receives a connection error if all NameServers that respond indicate that the Application Service cannot be found.
In general, you can combine NameServer replication with NameServer neighbors to provide connection-level fault tolerance across an entire network. The sections that follow describe how to implement connection-level fault tolerance using these techniques.