分散システムI(障害モデルと基礎の難しさ)
10 問単一マシンで通じる直感が、なぜ分散システムでは崩れるのかを問うグループです。共有時計がない・メッセージ遅延に上限がない・一部だけ壊れるといった前提から出発し、「落ちたのか遅いだけなのか区別できない」という根本問題やFLP不可能性まで、合意と障害の理論の土台を一次ソースで確かめながら固めます。
分散システムII(時間と順序・論理時計)
10 問複数のマシンにまたがるシステムでは「どのイベントが先に起きたか」を物理時計だけでは決められません。なぜ時刻が信頼できないのか、Lamportのhappened-before関係と論理時計がどう順序を与えるのか、ベクタークロックがどこまで因果を捉えられるのかを、一次ソースの定義に沿って基礎から整理します。用語を覚えるのではなく「なぜその保証が必要か」を理解することを目指します。
分散システムIII(合意とRaft)
10 問複数のサーバーが1つの値に確実に合意する「合意問題」と、それを理解しやすく解いたRaftの仕組みを扱います。リーダー選出・ログ複製・安全性が、なぜ過半数(quorum)から成り立つのかを、Raft論文を一次ソースに原理から確かめます。用語暗記ではなく「なぜその保証が必要か」を問います。
分散システムIV(一貫性モデル)
10 問複製されたデータが「どこまで揃って見えるか」には段階があります。線形化可能性から結果整合性まで、それぞれの保証が何を約束し何を約束しないのか、そして強い一貫性がなぜレイテンシと可用性という代償を伴うのかを、強さの順序に沿って理解します。
分散システムV(CAPとトレードオフ)
10 問CAP定理を正確に理解し、よくある誤解を正します。ネットワーク分断が起きたとき一貫性と可用性のどちらを優先するか、その判断がなぜ生まれるのかを、Gilbert-Lynchの形式化とAbadiのPACELCという一次ソースに沿って学びます。CassandraやetcdなどのAP/CPシステムの位置づけ、調整可能な一貫性(quorum)の仕組みまで、原理に絞って身につけます。
分散システムVI(調整とパターン)
10 問分散ロック・リース・2相コミット・べき等性・フェイルオーバーなど、実システムでノード同士を安全に調整するための手筋を学びます。「なぜ単純なロックや再送がGC停止や故障で壊れるのか」を具体的に理解し、フェンシングトークンやべき等化でどう守るかを一次ソースの定義に沿って身につけます。