목록 보기
급증하는 트래픽 안정적으로 처리하기: 개선편(2) 논리적 파티셔닝
백엔드

급증하는 트래픽 안정적으로 처리하기: 개선편(2) 논리적 파티셔닝

채널톡
채널톡
2026년 2월 25일

두줄요약

단일 큐에서 발생하던 HOL Blocking을 논리적 파티셔닝으로 완화했습니다. Coordinator 기반 독립 스케일링으로 10만 건 처리 시간을 84% 줄였습니다.

문제 상황

  • 단일 Ready Queue 구조에서 대규모 TaskGroup이 큐를 점유하며 발생하는 HOL Blocking
  • 인스턴스 단위 스케일링으로 인한 Worker 수의 배수 증가와 부하 전파

원인 분석

  • Redis 성능보다 단일 Queue 공유 구조 자체가 병목
  • 고객사 단위나 유형 단위보다 대규모 요청 격리에 더 적합한 분배 기준 필요
  • 물리적 파티셔닝과 분산 조율은 현재 트래픽 규모에 비해 과한 복잡도

해결 방법

  • 같은 Redis 안에서 keyspace만 분리한 논리적 파티셔닝 적용
  • taskGroupID 해시 기반 라우팅으로 Partition별 독립 Consumer와 Worker 파이프라인 구성
  • Coordinator가 Partition별 부하를 관찰해 Worker 수를 독립적으로 조절

성능/운영 포인트

  • 10만 건 처리 시간을 25분에서 4분으로 단축
  • Partition 간 격리로 HOL Blocking 완화
  • Worker 수 checkpoint 저장으로 재시작 시 상태 복구

적용해볼 점

  • 현재 트래픽에 맞는 최소 복잡도 수준에서 격리와 확장성 확보
  • 논리적 파티셔닝으로 향후 물리적 파티셔닝 전환 여지 확보

댓글 0

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

댓글을 불러오는 중...