Two-phase commit (2pc) Pattern | System Design Notes