【セルアーキテクチャ】

セルアーキテクチャ とは?

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