スケールの方向 — 増やし方を決める
垂直と水平の 2 つの増やし方と、水平にするために状態を外へ出す手順を扱います。ロードバランサーが配る単位とヘルスチェック、読み取りをキャッシュへ・書き込みをキューへ逃がす方法、そしてボトルネックが移動する順序を示します。
垂直と水平の 2 つの増やし方と、水平にするために状態を外へ出す手順を扱います。ロードバランサーが配る単位とヘルスチェック、読み取りをキャッシュへ・書き込みをキューへ逃がす方法、そしてボトルネックが移動する順序を示します。
レプリケーションとシャーディングで何が得られ、何が崩れるかを扱います。同期と非同期の違い、書いた直後に読めない理由、分割キーの偏り、結果整合性が見える瞬間、そして CAP 定理を「分断が起きたとき何を諦めるか」として読む方法を示します。
連載の題材となる架空のタスク管理 SaaS「Tasuku」の機能要件と非機能要件を定義し、VPC、Route 53、S3、ALB、ECS、RDS、IAM で組む全体アーキテクチャと、依存関係に基づく構築順序を解説します。
単一障害点の見つけ方と、可用性を掛け算で数える方法を扱います。直列でつながった依存は可用性を下げ、並列に並べた冗長化は上げます。待機系の型、切り替えにかかる時間、縮退運転、そして性能の問題を可用性の問題に変えない設計を示します。
構成図の箱と線が何を表すかを決め、要件と対応づける手順を扱います。描かないものの選び方、mermaid での書き方、同じ要件に複数の正解があることを示す fan-out の例、そして設計を説明するときの答案の組み立て方を示します。
Web システムの 3 層構造 (ユーザー / アプリ / データ) の中でデータベースが占める位置と、アプリケーションとデータベースをつなぐ DBMS の役割をジュニア向けに解説します。
利用者数から秒あたりのリクエスト数とデータ量を導く手順を扱います。ピーク倍率の置き方、読み書きの比が構成に与える影響、桁で考えることの意味、そして「1 台で足りる」と言い切れる条件を示します。