08 - The Trouble with Distributed Systems

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

  • Hiểu partial failures: trong hệ phân tán, một phần hệ có thể hỏng trong khi phần khác vẫn chạy.
  • Nắm network unreliability, timeout, unbounded delay.
  • Hiểu clock không đáng tin tuyệt đối và hệ quả với correctness.

Định nghĩa quan trọng

  • Partial failure:
  • Timeout:
  • Synchronous network:
  • Asynchronous network:
  • Monotonic clock:
  • Time-of-day clock:
  • Byzantine fault:

Mental model

Distributed system
-> network có thể delay/drop/reorder
-> process có thể pause
-> clock có thể lệch
-> node không thể biết chắc trạng thái node khác nếu chỉ nhìn từ xa

Concept cần nối

Câu hỏi review

  • Vì sao timeout không chứng minh node đã chết?
  • Monotonic clock và time-of-day clock dùng cho việc khác nhau như thế nào?
  • “Truth is defined by the majority” nghĩa là gì trong replicated systems?

Liên kết