피드로 돌아가기
How to Stream Stable Millisecond Ticks for Gold & Silver
Dev.toDev.to
Backend

Single WebSocket 기반 Multi-symbol 구독을 통한 Millisecond급 실시간 시세 스트리밍 구현

How to Stream Stable Millisecond Ticks for Gold & Silver

kalos2026년 5월 7일2intermediate

Context

HTTP Polling 방식의 빈번한 요청으로 인한 Rate Limit 발생 및 데이터 유실 문제 분석. 심볼별 개별 WebSocket 연결 시 발생하는 리소스 낭비와 연결 관리 복잡성으로 인한 시스템 불안정성 식별.

Technical Solution

  • Server Push 방식의 WebSocket 프로토콜 채택을 통한 Millisecond 단위의 데이터 반응성 확보
  • Single Connection 내 Multi-symbol Subscription 구조 설계를 통한 연결 오버헤드 최소화
  • O(1) 시간 복잡도의 Dictionary 기반 데이터 저장 구조를 통한 심볼별 데이터 접근 최적화
  • UI 렌더링 부하 방지를 위한 50ms 단위의 Batch Update 전략 적용
  • Main Thread 블로킹 방지를 위한 Async Queue 도입으로 고부하 상황의 처리 안정성 강화

- 실시간 데이터 스트리밍 시 Polling 대신 WebSocket 기반 Push 모델 검토 - 다수 리소스 구독 시 연결 수 최소화를 위한 Multi-subscription 패턴 적용 - 고빈도 데이터 수신 시 UI 렌더링 주기와 데이터 수신 주기를 분리하는 Throttling 적용 - 데이터 처리 파이프라인 내 Async Queue 도입을 통한 Producer-Consumer 간 디커플링 구현

원문 읽기