Each server has an embedded replication server that is responsible for transmitting updates to other replication servers. Each replicating base distinguished name (DN), such as cn=schema, dc=example,dc=com, has a separate component called a replica. Each replica connects to the embedded replication server running within the server Java virtual machine (JVM) process.

When a client application updates an entry on the server, the replica sends an update message to its embedded replication server. The replication server applies the change to the replicationChangelog backend repository and then sends an update message to the connected replication server on another server. The replication server on other servers then passes the change to the appropriate replica, which in turn applies the change to its backend after performing conflict resolution.

The following figure shows the standard setup.

Diagram of the replication process. The client or application sends an update to Identity Store A, which replicates the update to its built-in replication server. The replication server replicates the update to Identity Store B.
  1. The client or application sends a modification request to Identity Store A. The identity store applies the change.
  2. The Replica backend in Identity Store A sends an update message to the Replication Server in Identity Store A.
  3. The Replication Server in Identity Store A pushes the update to the Replication Server in Identity Store B.
  4. The Replication Server in Identity Store B applies the update the to the Replica backend in Identity Store B.