🗺️ このノートは 第2章「時間と順序」のハブ です。
第2章 ── 時間と順序
分散システムには信用できる共通の時計がありません。各マシンの水晶振動子はずれ、ネットワーク遅延も一定でない。それでも「この書き込みはあの書き込みより後だ」を決めないと、一貫性も合意も成り立ちません。この章は、物理時計の同期(と限界)から始め、因果(happens-before)を時刻でなくイベントの依存で捉える論理時計・ベクトル時計、そして「全体の一貫したスナップショットをどう撮るか」までを扱います。
鍵は発想の転換です。「実時刻で順序づける」のを諦め、「因果関係だけを正しく順序づける」。これが分散の時間の扱い方です。
トピック一覧
- 物理時計とクロック同期(NTP) — 時計はなぜずれ、どこまで合わせられるか
- 論理時計(Lamportタイムスタンプ) — happens-before を数で表す
- ベクトル時計 — 因果と並行を正確に区別する
- グローバルスナップショット(Chandy-Lamport) — 一貫した大域状態を撮る
この章の位置づけ
- 前章 分散システムとは・なぜ難しいか の「大域時刻が無い」を技術で受ける
- ここで作った「順序」は、線形化可能性と逐次一貫性 と 合意問題とFLP不可能性 の土台になる
- 単一マシンの時刻・タイマはコンピュータ基礎へ