すべての記事
category

分散システム

11 件の記事

FIG-118 分散トレーシング — どの配送センターで遅れたか、伝票番号で追う探偵ゲーム 遅かった注文の記録をガントチャートで再生し、犯人のサービスをクリックで当てる。一番長い棒ではなく、子で埋まっていない「すき間」が手がかりになる。 FIG-117 CQRSとイベントソーシング — 残高を書かずに、明細を再生する 入金・出金・取り消しを記録に書き足し、再生して残高を作る。スライダーで過去に戻り、書く係と読む係を分けたときの反映待ちや、あとから新しい画面を作れる様子も試す。 FIG-116 レイヤードとクリーンアーキテクチャ — ケーキの層か、芯を守る玉ねぎか 同じアプリをケーキ型と玉ねぎ型で作り、画面やDBを替えてみる。変更は依存の矢印を逆にたどって広がり、DBを一番下に敷いたケーキは大事なルールまで崩れる。 FIG-115 イベント駆動アーキテクチャ — ピストルが鳴った瞬間だけ走り出す運動会 何度も聞きに行くポーリングと、合図で走り出すイベント駆動を、注文を入れて比べる。速さと空振りのつり合い、そして休んでいた係が合図を聞き逃す弱点と、イベントログによる取り戻しを試す。 FIG-087 キャッシュ戦略 — 速いほうを読む、ということ キャッシュとDBを自分で読み書きすると、書いた直後にズレが生まれ、TTLが切れた瞬間に直る。Cache AsideとWrite Throughを比べられる。 FIG-057 CAP定理 — 分断のとき、一貫性か可用性か 回線を分断して CP/AP を切り替え、書き込みの拒否 vs 値の食い違い→結果整合性での収束を操作する。 FIG-040 レートリミットとリトライ — 断るのは優しさ トークンバケツが流量を制限し、429で弾かれたら指数バックオフで投げ直す様子を操作する。 FIG-028 Pub/Sub — 1回の発行が全員に届く 「配信」を押すと購読者全員へ一斉に届くファンアウトを体験。購読をON/OFFして届く相手が変わる様子を見る。 FIG-022 メッセージキュー — 行列が速さの違いを吸収する 発行を連打しても発行者は待たされない。行列がバッファになり、処理係が自分のペースでさばく様子を体感する。 FIG-018 ロードバランサー — 次のお客さんはどの窓口へ? リクエストを送って、ラウンドロビンと最小接続数で配り方がどう変わるか見比べる。 FIG-016 サーキットブレーカー — 落ちた相手と共倒れしない 相手サービスを故障・復旧させて、Closed/Open/Half-Openの状態遷移を動かして学ぶ。