피드로 돌아가기
WhatsApp Has 2 Million Connections Per Server. What's Your Number?
Dev.toDev.to
Infrastructure

BEAM 기반 고동시성 설계를 통한 서버당 200만 연결 및 인프라 비용 8배 절감

WhatsApp Has 2 Million Connections Per Server. What's Your Number?

Rirash2026년 6월 17일8advanced

Context

실시간 통신 플랫폼 및 금융 결제 시스템에서 대규모 동시 접속 처리와 무중단 서비스 제공이라는 상충하는 요구사항 발생. 기존 OS Thread 기반 모델이나 Ruby 등의 인터프리터 언어로는 메모리 점유율 증가와 예측 불가능한 Latency로 인한 확장성 한계 직면.

Technical Solution

  • Lightweight Process 모델 도입을 통한 연결당 약 2KB의 초소형 메모리 점유 구조 설계
  • Process Isolation 전략을 통해 개별 연결 장애가 전체 시스템으로 전이되는 것을 차단하는 Fault Tolerance 구현
  • Preemptive Scheduler 활용으로 극심한 부하 상황에서도 일관된 Latency를 유지하는 예측 가능한 응답성 확보
  • Supervisor 계층 구조를 통한 프로세스 자동 재시작 메커니즘으로 인프라 관리 오버헤드 최소화
  • Hot Code Upgrade 기능을 통한 시스템 중단 없는 런타임 코드 업데이트 및 배포 체계 구축
  • CPU 집약적 작업(예: 정렬, Presence 시스템)에 한해 Rust를 부분 도입한 Hybrid 아키텍처 구성

Impact

  • WhatsApp: 서버당 200만 Simultaneous Connections 처리 및 일일 500억 건 메시지 전송 달성
  • Bleacher Report: Elixir 전환 후 인프라 비용 8배 절감 및 서버 대수 획기적 감소
  • Discord: 500만 Concurrent Users 처리 및 소수 인원(5명)의 인프라 팀으로 운영 가능
  • Riot Games: League of Legends 채팅 인프라를 통해 최대 750만 Concurrent Players 수용

Key Takeaway

고동시성-고가용성 요구사항이 핵심인 시스템에서는 언어의 범용성보다 Runtime의 Process 모델과 Scheduling 방식이 엔지니어링 생산성과 비용 효율성을 결정하는 결정적 요소임.


- Peak 시점의 Concurrent Connection 수가 수백만 단위인지 검토 - 개별 요청의 실패가 전체 시스템 안정성에 미치는 영향도 분석 - 무중단 배포를 위해 Hot Code Loading이 필수적인 비즈니스 도메인인지 확인 - 인프라 유지보수 인력 대비 시스템 규모의 적정성 평가

원문 읽기