There are two ways to propagate the updates: synchronously and asynchronously.
Synchronous replication
In synchronous replication, the node replies to the client to indicate the update is complete—only after receiving acknowledgments from the other replicas that they’ve also performed the update on their local storage. This guarantees that the client is able to view the update in a subsequent read after acknowledging it, no matter which replica the client reads from.
Furthermore, synchronous replication provides increased durability. This is because the update is not lost even if the leader crashes right after it acknowledges the update.
However, this technique can make writing requests slower. This is because the leader has to wait until it receives responses from all the replicas.
A distributed system with a leader-follower architecture, where the Primary node is the leader while Secondary nodes are followed
Asynchronous replication
In asynchronous replication, the node replies to the client as soon as it performs the update in its local storage, without waiting for responses from the other replicas.