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