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로 구축되어 있습니다.