Understanding fault-tolerant distributed systems | Synapse