8 Replication
This chapter covers
- Redundancy
- Replication
Some of the most complex aspects of distributed systems involve redundancy—especially redundancy in the presence of failure. The four fundamental principles of database transactions (which you should recall from chapter 5) are famously referred to as ACID guarantees. ACID stands for Atomicity, Consistency, Isolation, and Durability.
Let's recall the definition of durability:
- Durability guarantees that once a transaction is committed, its effects are permanent, preventing the possibility of "going back on its word,” so to speak.
The requirement of being unable to go back on its word, or to backtrack, is essential for many business processes. When we receive a positive acknowledgment for a promise, we rely on the durability of the promise to move forward. For example, in the case of an e-commerce application, we rely on the durability of a payment processor’s promise to collect payment to ship goods or render services. If the payment processor backtracks, we will be unpleasantly surprised when we realize we shipped the goods but actually never received the payment.