목록 보기
비트윈 시스템 아키텍처
아키텍처

비트윈 시스템 아키텍처

타다
타다
2013년 4월 18일

두줄요약

비트윈의 HTTP·TCP 채팅 서비스와 커플 단위 샤딩 기반 아키텍처를 설명했습니다. 다계층 구조와 HBase 트랜잭션으로 확장성·장애 격리를 개선하는 방향을 제시했습니다.

구조와 흐름

  • Java·Netty·Thrift 기반 HTTP API와 TCP 채팅 프로토콜의 공통 서비스 인터페이스
  • HBase 기반 메시지 트랜잭션, ZooKeeper·Consistent Hashing 기반 커플 단위 서버 샤딩
  • ELB를 통한 HTTP 분산과 서버별 ELB를 통한 TCP 연결, S3 사진 저장 및 CloudWatch 모니터링

선택 이유

  • 모바일 네트워크의 채팅 전송 속도를 위한 TCP·Snappy 압축과 Thrift 서비스 재사용
  • 빈번히 변경되는 채팅 상태의 HBase 저장 회피와 애플리케이션 서버 인메모리 캐싱
  • IDC 운영 경험·TCO를 고려한 AWS 기반 운영과 CPU·메모리 병목별 EC2 인스턴스 분리

트레이드오프

  • 서버 증감 시 커플 이동을 줄이는 Consistent Hashing과 클라이언트 샤딩 정보 인지 요구의 복잡성
  • 서버 증설 시 신규 ELB Warm-up 필요에 따른 Auto-Scale 제약
  • HBase 다중 복제 쓰기와 AZ 간 지연시간 부담으로 인한 Multi-AZ 구성 난이도

성능/운영 포인트

  • HDFS 복제본의 ephemeral storage·PIOPS EBS 분산으로 EBS 지연 영향 최소화
  • Presentation·Application 다계층 구조로 단일 ELB 진입점, 자동 확장 및 배포 단순화 계획
  • HBase 리전과 애플리케이션 샤드의 물리적 공존으로 장애 범위 격리, Haeinsa 배치 트랜잭션으로 AZ 간 쓰기 지연 완화

다음 읽기

#HBase 주제를 이어서 읽기

비트윈의 HBase 스키마 해부

비트윈의 HBase 저장 구조와 Datastore 기반 접근 방식을 설명했습니다. 트랜잭션·인덱스·키 설계로 성능과 무결성을 확보했습니다.

타다
타다
백엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...