Active and Passive Replication in Distributed Systems

In the distributed systems research area replication is mainly used to provide fault tolerance. The entity being replicated is a process. Two replication strategies have been used in distributed systems: Active and Passive replication.


In active replication each client request is processed by all the servers. Active Replication was first introduced by Leslie Lamport under the name state machine replication. This requires that the process hosted by the servers is deterministic. Deterministic means that, given the same initial state and a request sequence, all processes will produce the same response sequence and end up in the same final state. In order to make all the servers receive the same sequence of operations, an atomic broadcast protocol must be used. An atomic broadcast protocol guarantees that either all the servers receive a message or none, plus that they all receive messages in the same order. The big disadvantage for active replication is that in practice most of the real world servers are non‐deterministic. Still active replication is the preferable choice when dealing with real time systems that require quick response even under the presence of faults or with systems that must handle byzantine faults.

In passive replication there is only one server (called primary) that processes client requests. After processing a request, the primary server updates the state on the other (backup) servers and sends back the response to the client. If the primary server fails, one of the backup servers takes its place. Passive replication may be used even for non‐deterministic processes. The disadvantage of passive replication compared to active is that in case of failure the response is delayed.


  1. Paresh

    thnx 4 the help….

  2. aman

    thanks …………………good info…………..

  3. chanhduc

    A good introduction. So clear and easy to understand. Thanks.

  4. someone

    Thank you! Very well explained, short and concise! 🙂

  5. Anonymous

    Nice lesson for me…… Thank u…..

  6. Rajat Mishra

    very well explained in short…. Thanx

  7. Salinda


  8. Prateek

    hello friend may you please the source of above daigram.

  9. Pingback: Service-level requirements: soddisfare i requisiti non funzionali di una architettura software - Francesco Ficetola

  10. Ramkesh Singh


  11. Anonymous

    thank you so much

  12. Anonymous

    super clear !

  13. Oh my goodness! a fantastic write-up dude. Appreciate it Even so I am experiencing trouble with ur rss . Do not know why Struggling to join it. Is there any person obtaining identical rss problem? Anybody who knows kindly respond. Thnkx

  14. Anonymous

    is passive replication and passive replication with fault tolerance are same?

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s