【セルアーキテクチャ】

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

💡 一つの細胞が傷ついても体全体は動き続ける、障害隔離の生体設計
📌 このページのポイント
ひよこ ひよこ

セルアーキテクチャって何?セルって細胞のこと?

ペンギン先生 ペンギン先生

まさにそのイメージだよ。サービスを「セル」という独立した小さな単位に分割する設計パターンで、生物の細胞が独立して機能するように各セルが自律的に動くんだ。

ひよこ ひよこ

どんな問題を解決するの?

ペンギン先生 ペンギン先生

障害の影響範囲を限定することが一番の目的だよ。たとえば100万人のユーザーを10セルに分けると、1セルで障害が起きても10万人にしか影響しないんだ。残りの90万人は普通にサービスを使えるよ。

ひよこ ひよこ

マイクロサービスと何が違うの?

ペンギン先生 ペンギン先生

マイクロサービスは機能(注文・在庫・ユーザー管理など)で分割するんだけど、セルアーキテクチャはユーザーやテナントを単位として水平方向に分割するんだよ。各セルがDB・アプリ・ロードバランサーをすべて持つ自己完結した構成なんだ。

ひよこ ひよこ

どんな大きな会社が使っているの?

ペンギン先生 ペンギン先生

AmazonStripeが採用しているよ。Stripeは決済サービスだから障害が許されない。セルアーキテクチャで障害範囲を限定することで、大規模サービスの信頼性を保っているんだ。

ひよこ ひよこ

どうやってユーザーを各セルに振り分けるの?

ペンギン先生 ペンギン先生

ユーザーIDやテナントIDをハッシュ化して特定のセルに固定するのが一般的だよ。一度割り当てたら同じセルに送り続けるから、予測可能な動作になるんだ。障害時は影響するセルのユーザーだけ別のセルに移行させることもできるよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「セルアーキテクチャ」って出てきたら「障害が広がらない独立サービス分割」と思えればだいたいOK!
📖 おまけ:英語の意味
「Cell Architecture」 = セル(細胞)型アーキテクチャ
💬 生物の「細胞(セル)」が独立して機能するように、各セルが独立してサービスを提供するイメージだよ。
← 用語集にもどる