【セルアーキテクチャ】
セルアーキテクチャ とは?
最終更新:
💡 サービスを区画に分けて、障害の広がりを抑える
サービスを「セル」という独立した単位に分け、各セルが利用者やリソースの一部を担当する設計。セル間の依存を抑え、障害の影響範囲を限定する。
📌 このページのポイント
- 各セルはサービスの独立した実体として、一部のリクエストを担当する
- 顧客IDやリソースIDなどでセルに振り分ける
- セル間の状態共有や依存を抑え、影響範囲を限定する
- 共有ルーターや一斉更新など、複数セルへ影響する要因もある
セルって細胞のこと?
細胞のような単位をイメージしているよ。サービスの独立した実体を複数作り、各セルが利用者やリソースの一部を担当する設計なんだ。
1セルが壊れても絶対に他は無事?
影響を限定するのが目的だけれど、保証ではないよ。セル同士で状態や部品を共有したり、全セルへ同時に不具合を配ったりすると、広く影響する可能性があるんだ。
どう振り分けるの?
顧客IDやリソースIDなどをキーに、ルーターが担当セルへ送るよ。割り当てを保つ方法や、セル間でデータを移す方法も設計する必要がある。
セルを増やすだけでよいの?
セルの最大規模を試験で決め、増設して全体を拡張する考え方だよ。共有ルーターを単純に保つことや、段階的な更新も重要。セル分割だけで共通の障害要因まで消えるわけではないんだ。
まとめ:ざっくりこれだけ覚えればOK!
「セルアーキテクチャ」って出てきたら「サービスを区画に分けて障害の広がりを抑える設計」と思えばだいたいOK!
📖 おまけ:英語の意味
「Cell Architecture」 = セル(細胞)型アーキテクチャ
💬 生物の「細胞(セル)」が独立して機能するように、各セルが独立してサービスを提供するイメージだよ。