09 - Consistency and Consensus

Mục tiêu cần hiểu

  • Hiểu consistency guarantees, đặc biệt linearizability.
  • Nắm ordering, causality, sequence numbers, total order broadcast.
  • Hiểu atomic commit, two-phase commit, fault-tolerant consensus.

Định nghĩa quan trọng

  • Linearizability:
  • Causality:
  • Total order broadcast:
  • Atomic commit:
  • Two-phase commit:
  • Consensus:

Mental model

Muốn nhiều node đồng ý về một thứ
-> cần ordering/consistency guarantee rõ ràng
-> consensus là primitive đắt nhưng nền tảng cho coordination đúng

Câu hỏi review

  • Linearizability mạnh hơn eventual consistency ở điểm nào?
  • Total order broadcast liên hệ với consensus như thế nào?
  • Vì sao 2PC có thể block khi coordinator fail?

Liên kết