토픽 181 / 192·시스템 설계 및 아키텍처 패턴
Cell-Based Architecture
Cell-Based Architecture
시스템을 독립적이고 격리된 셀(Cell) 단위로 분할하여 장애 격리, 확장성, 지역별 배포를 제공하는 아키텍처 패턴으로, 각 셀은 완전한 기능을 가진 독립 단위로 동작하며 AWS, Netflix 등에서 사용
목적: 장애 격리(Blast Radius 제한), 지리적 분산, 독립 확장, 멀티테넌트 격리
특징: 독립 셀, 장애 격리, 라우팅 레이어, 데이터 분할, 지역별 배포
구성요소: Cell Router(요청 라우팅), Cell(독립 인스턴스 그룹), 데이터 파티션(셀별 데이터), 글로벌 서비스(공유 서비스)
Cell 특성: 완전한 기능 스택, 독립 배포, 데이터 격리, 트래픽 제한, 지역별 또는 테넌트별 할당
라우팅: 요청을 적절한 Cell로 라우팅(지역, 테넌트, 사용자 ID 기반), Cell 장애 시 다른 Cell로 우회
장애 격리: 한 Cell 장애가 다른 Cell에 영향 없음, Blast Radius 제한(전체 대신 일부만 영향)
장점: 장애 격리, 확장성(Cell 단위 확장), 지역별 최적화, 멀티테넌트 격리, 점진적 롤아웃
단점: 복잡한 라우팅, 데이터 일관성 어려움, 글로벌 기능 제약, 비용 증가(중복 인프라)
적용사례: AWS(Route 53 Cells), Netflix(장애 격리), SaaS(테넌트별 Cell)
비교: Cell-Based(격리/독립) vs Shard(데이터분할) vs Multi-Region(지역복제)
연관: 장애 격리, 샤딩, 멀티테넌시, AWS, 분산 시스템