!!! Overview
[{$pagename}] is a form of data [synchronization] that is used to ensure that changes in the [data] environment are reflected in each instance of the [data].  That is, whenever a change is made in one [replica] instance, that same change is also made in every [replica] instance.

[{$pagename}] may be performed in [Distributed systems] or [Decentralised systems].

!! [Active Repliciton]
[Active Repliciton] is wehn every replica processes the same request.!! [Passive Replication]
[Passive Replication] is when one replica processes the request and then distributes the result to other replicas.

!! [master-slave]
[master-slave] is when one master [replica] is designated to process all the requests and maintain the [state].

!! [multi-master replication]
[multi-master replication] is when any [replica] processes a request and then distributes a new [state]

!! [Replication] [Frameworks] in [Distributed systems]
A number of widely cited models exist for [data] [{$pagename}], each having its own properties and performance:
* [Transactional replication] - Is used for replicating [transactional] [data] fitting [ACID] properties.
* [Stateful Replication] - Is a [Framework] which assumes that there is a known [state] that is transitioned to a new known [state] and are often used within [Distributed Consensus] [protocols]. [Stateful Replication] is may be implemented by a replicated log consisting of multiple subsequent rounds of the [Paxos Protocols].
* Virtual synchrony. This computational model is used when a group of processes cooperate to replicate in-memory data or to coordinate actions. The model defines a distributed entity called a process group. A process can join a group, and is provided with a checkpoint containing the current [state] of the [data] replicated by group members. Processes can then send multicasts to the group and will see incoming multicasts in the identical order. Membership changes are handled as a special multicast that delivers a new membership view to the processes in the group.

!! [LDAP]
Many [LDAP Server Implementations] use [{$pagename}] to provide [Eventual consistency] [data Store|DataStore]!! More Information
There might be more information for this subject on one of the following:
[{ReferringPagesPlugin before='*' after='\n' }]