【セルアーキテクチャ】
セルアーキテクチャ とは?
💡 一つの細胞が傷ついても体全体は動き続ける、障害隔離の生体設計
📌 このページのポイント
セルアーキテクチャって何?セルって細胞のこと?
まさにそのイメージだよ。サービスを「セル」という独立した小さな単位に分割する設計パターンで、生物の細胞が独立して機能するように各セルが自律的に動くんだ。
どんな問題を解決するの?
障害の影響範囲を限定することが一番の目的だよ。たとえば100万人のユーザーを10セルに分けると、1セルで障害が起きても10万人にしか影響しないんだ。残りの90万人は普通にサービスを使えるよ。
マイクロサービスと何が違うの?
マイクロサービスは機能(注文・在庫・ユーザー管理など)で分割するんだけど、セルアーキテクチャはユーザーやテナントを単位として水平方向に分割するんだよ。各セルがDB・アプリ・ロードバランサーをすべて持つ自己完結した構成なんだ。
どんな大きな会社が使っているの?
どうやってユーザーを各セルに振り分けるの?
ユーザーIDやテナントIDをハッシュ化して特定のセルに固定するのが一般的だよ。一度割り当てたら同じセルに送り続けるから、予測可能な動作になるんだ。障害時は影響するセルのユーザーだけ別のセルに移行させることもできるよ。
まとめ:ざっくりこれだけ覚えればOK!
「セルアーキテクチャ」って出てきたら「障害が広がらない独立サービス分割」と思えればだいたいOK!
📖 おまけ:英語の意味
「Cell Architecture」 = セル(細胞)型アーキテクチャ
💬 生物の「細胞(セル)」が独立して機能するように、各セルが独立してサービスを提供するイメージだよ。