Item / MechanismBackupsM/SMM2PCPaxos
ConsistencyWeakEventualEventualStrongStrong
TransactionsNoFullLocalFullFull
LatencyLowLowLowHighHigh
ThroughputHighHighHighLowMedium
Data lossLotsSomeSomeNoneNone
FailoverDownRead onlyRead onlyRead/writeRead/write

This table essentially covers the foundational solutions for high-availability systems today. M/S and MM are not hard to implement, but have many issues. 2PC suffers from poor performance, while Paxos is too complex and difficult to implement.

To summarize the problems of each HA approach:

  • For eventual consistency, if a crash occurs, data may not have fully synchronized, leading to inconsistencies.
  • For strong consistency, either use the slower XA-style two-phase commit approach, or use the faster but more complex Paxos protocol.