GlossaryArchitecture

Cell-Based Architecture

장애 격리와 확장성을 위해 시스템을 독립적인 셀 단위로 분할하는 아키텍처 패턴

What is Cell-Based Architecture?

Cell-Based Architecture는 시스템을 독립적이고 자급자족적인 셀로 분할하여 장애의 폭발 반경(Blast Radius)을 제한하는 패턴입니다.

각 셀은 전체 스택의 복제본으로, 특정 고객 그룹이나 트래픽을 처리합니다. 한 셀의 장애가 다른 셀에 영향을 주지 않습니다.

┌─────────┐ ┌─────────┐ ┌─────────┐
│  Cell 1 │ │  Cell 2 │ │  Cell 3 │
│ Users   │ │ Users   │ │ Users   │
│ A-H     │ │ I-P     │ │ Q-Z     │
│ ┌─────┐ │ │ ┌─────┐ │ │ ┌─────┐ │
│ │ App │ │ │ │ App │ │ │ │ App │ │
│ │ DB  │ │ │ │ DB  │ │ │ │ DB  │ │
│ └─────┘ │ │ └─────┘ │ │ └─────┘ │
└─────────┘ └─────────┘ └─────────┘

Key Concepts

Cell

독립적으로 배포, 확장, 장애 복구가 가능한 완전한 시스템 단위입니다.

Cell Router

요청을 적절한 셀로 라우팅합니다. 사용자 ID, 지역 등을 기준으로 분배합니다.

Blast Radius

장애 발생 시 영향 범위. 셀 크기가 작을수록 폭발 반경이 줄어듭니다.

Benefits

  • Fault Isolation: 장애가 셀 내부로 격리됨
  • Scalability: 셀 추가로 수평 확장
  • Safe Deployments: 셀 단위 카나리 배포
  • Compliance: 지역별 데이터 규정 준수

Use Cases

Amazon, Slack, DoorDash 등 대규모 서비스에서 사용. AWS의 많은 서비스가 Cell-Based Architecture로 구축되어 있습니다.