Chapter 6: Clusters and Synchronization
Each cluster includes a primary server, a group of participating servers, and a set of name servers:
The primary server contains the master copy of the configuration repository for all servers in the cluster. The primary server distributes (synchronizes) its configuration to the other servers in the cluster.
Participating servers or nonprimary servers share a “logical server name,” which corresponds to a server defined in the primary server’s repository. Several physical servers in a cluster share a logical server name; each like-named server shares components and servlets, and uses the same connection caches and other configuration information.
When you are configuring a cluster, you can use multiple logical server names to partition components. To ensure high availability, each logical server name must be shared by at least two physical servers in the cluster.
All servers within a cluster can share the same name as long as you are not partitioning.
A cluster consists of at least two name servers. Each server in a cluster is aware of all of the name servers. Each server in a cluster binds its components to all name servers in the cluster. Binding all of the components of the clustered servers to multiple name servers provides high availability of your business components and redundancy if a server should go down, even if it is a name server.
The list of name servers for the cluster override the naming properties for participating logical server definitions.
Cluster support is tightly integrated with the EAServer naming service, so that all client services from a cluster are made available through the naming service. See Chapter 5, “Naming Services” for more information.
Typically, each server in a cluster runs on a different host, so each server has its own copy of the entire repository and all files required for component execution. Sybase recommends that you run each cluster member from its own installation directory.
Cluster members can be on different platforms Beginning with EAServer version 4.0, a cluster can include servers on different platforms, including Windows, Solaris, AIX, HP, and Linux. Each server in the cluster must be the same version of EAServer. If the cluster uses PowerBuilder components, all the servers must use the same version of the PBVM.
Figure 6-1 illustrates a server cluster and uses hostA as the primary server to synchronize the participating servers, including the name servers. Each server in the cluster is named “Jaguar.”
Figure 6-1: EAServer cluster
The SessionManager::Session::lookup operation implicitly consults the naming service, so you can write a client that does not explicitly use the naming service but still takes advantage of cluster services. For example, the PowerBuilder connection object uses SessionManager::Session::lookup.
Each server can be a member of only one cluster. To provide high availability, there should be at least two name servers defined for a cluster.
Servers are defined by URL, rather than by server name. Every server in a cluster can have the same name. If you are not using partitioning, it is easy to add a new machine to a cluster; simply change the host in each listener to the Internet host name or IP address. Then, connect EAServer Manager to the cluster’s primary server and synchronize the cluster.
Do not use localhost listeners in clusters Servers running in a cluster cannot have localhost IIOP listeners. The sole exception is a cluster where all servers in the cluster run on one machine. In this case, all IIOP listeners must use the same host name, which can be localhost or the machine name.
A name server can be used by one or more clusters. See “Adding a name server to a cluster” for restrictions before you assign a name server to more than one cluster.
All servers in a cluster should share a common account that will be used for inter-server connections when synchronizing the cluster. This must be a jagadmin account or an account for a user that has the Admin role.
If the servers in a cluster do not share a common account, you can synchronize the cluster only on a server-by-server basis.
|Copyright © 2005. Sybase Inc. All rights reserved.|