Server Roles and Relationships

Affiliated realm server processes are connected by relationships, which in turn place each affiliated server in a specific role.

Administrators configure the relationships among affiliated servers using command line parameters or configuration file properties (see Affiliated Servers).

Affiliated Realm Servers: Roles and Relationships

Primary

The primary server is the central hub within a family of affiliated servers.

  • Within a family of affiliated server processes, exactly one process can play the role of primary.
  • Administrators can update the primary’s realm definition. The primary can deploy updates to its clients and to other affiliated servers.
  • Client application processes can connect to the primary. Satellite server processes can connect to the primary.

Satellite

A satellite server provides local service to clients that are geographically distant from the primary, or clients that are insulated from the primary (to fulfill enterprise requirements). Administrators can arrange satellite servers in order to reduce remote connection costs, or to distribute client load. Consider these aspects of the relationship of a server S, which is a satellite of the primary P.

  • Several servers can be satellites of the primary. A server cannot be a satellite of another satellite server, nor of a backup server.
  • Satellite server S initiates a TCP connection to primary P, and not the reverse.
  • Satellite S receives the realm definition from primary P. When an administrator deploys an updated realm definition to P, P pushes the deployment to S. (Administrators cannot deploy updates directly to a satellite server.)
  • Each client connects to a realm server: either to P, or S, or some other satellite. Primary P and all its satellites serve sets of clients that are disjoint from one another.
  • A satellite server does not accept client connection requests until it first receives a realm definition from its primary server.
  • Satellite S is loosely coupled to the primary P. If one of them became inoperative, or the connection between them broke, P would not take any restorative action. Rather, S would attempt to reconnect to P, continuing to serve its clients in the interim. P can deploy a new realm definition while S is disconnected (but see Disconnected Satellite).

Backup

A backup server provides fault-tolerant service to clients of a regular server (which can be either the primary or a satellite). For example, consider these aspects of the relationship of a backup server B, which is a backup for a regular server R (either the primary or a satellite). Conversely, R does backup to server B.

  • The primary server can back up to at most one backup server. Each satellite can back up to at most one backup server. A backup server cannot back up to another backup server.
  • Regular server R initiates a TCP connection to backup B, and not the reverse.
  • Regular server R pushes its realm definition to backup B. When R deploys an updated realm definition, it pushes the update to B. (Administrators cannot deploy updates directly to a backup server.)
  • Each client that connects to R as its realm server also designates B as its backup server for fault tolerance. R and B serve the same set of potential clients.
  • Backup server B does not accept client connection requests unless regular server R becomes inoperative. In this failover situation, clients of R automatically connect to B instead. When R is fully operative again, clients disconnect from B and reconnect to R.
  • Regular server R is tightly coupled to its backup B. If one of them became inoperative, or the connection between them broke, they would warn the administrator and take action. That is, R would attempt to restore the connection to B, and B would begin failover operation.
  • If R and B are disconnected when R receives a realm update, R cannot accept the update. The administrator must first ensure that R and B have reconnected, then try the update again.

See also Primary Out of Sync with Backup.

Disaster Recovery

A disaster recovery server provides a remote failover point in case a disaster disrupts service at the main site.

The preceding diagram does not illustrate disaster recovery realm servers. For background information and a diagram, see Disaster Recovery.

Conceptually, a disaster recovery server behaves similarly to a backup server, with the following exceptions.
  • A disaster recovery realm server backs up from only the primary server, and not from a satellite.
  • A disaster recovery realm server accepts clients connection requests only from disaster recovery persistence servers.

Summary of Roles

Affiliated Realm Servers: Role Summary
  Primary Satellite Backup Disaster Recovery
Realm Definition Can receive updates from administrators. Can receive updates only from the primary. Can receive updates only from its regular server. Can receive updates only from the primary server.
Numerical Limits Only one primary per realm. No limit. At most one backup per regular server. At most one disaster recovery server per primary server.
Initiating TCP Connections Connects to its backup. Connects to the primary, and to its own backup. Does not initiate connections Does not initiate connections
Accepting TCP Connections Accepts connections from satellites.

Accepts connections from clients.

Accepts connections from clients. Accepts connections from its regular server.

Accepts connections from clients, but only when its regular server fails.

Accepts connections from the primary server.

Accepts client connections only from disaster recovery persistence servers.

Monitoring Interface Administrators can monitor and manage clients and satellites. Administrators can monitor and manage clients. Administrators can monitor and manage clients. Administrators can monitor and manage clients.
Configuration Interface Administrators can edit the realm definition and deploy updates to clients, satellite servers, and backup servers. Administrators can view the realm definition (read-only). Administrators can view the realm definition (read-only). Administrators can view the realm definition (read-only).