[Backend] 급증하는 트래픽, 안정적으로 처리하기
채널데브톡 2025 채널톡 · YouTube
AI 핵심 요약
채널톡은 고객사마다 따로 구현되던 벌크 작업이 서로의 처리를 막고 전체 서비스 품질까지 위협하는 문제를 해결하기 위해 공통 처리 아키텍처를 만들었다. 요청을 작은 태스크로 나눠 Redis Lua 기반 큐에 넣고, 우선순위 조정으로 고객사 간 공정성을 지원하는 한편 테이블별 TPS 제한과 대기 큐로 데이터베이스 부하를 제어했다. Go 고루틴 워커와 디스패처·와처를 두고, 작업을 가져올 때 인플라이트 큐에 기록한 뒤 확인 응답이 없으면 재시도하도록 해 요청 누락을 방지했다. 그 결과 일관된 인터페이스와 안정적인 처리 기반을 마련했으며, 재시도에 따른 중복 실행을 감안해 클라이언트가 멱등성을 보장해야 한다는 점과 큐 수평 확장·동적 흐름 제어가 남은 과제임을 짚었다.
- Redis Lua 스크립트로 큐 연산을 원자적으로 처리하고, 작업을 작은 태스크로 나눠 관리한다.
- 고객사별 공정성을 위해 우선순위를 조정하고, 남은 태스크가 적은 작업에는 우선순위 부스트를 적용한다.
- 고정 윈도우 레이트 리미팅으로 테이블별 TPS를 제한하고, 제한에 걸린 태스크는 별도 대기 큐에 둔다.
- Go 고루틴 워커와 디스패처·와처를 분리해 실행, 큐 이동, 완료 확인을 맡긴다.
- 작업은 최소 한 번 실행될 수 있으므로, 재시도에 안전하도록 멱등성을 클라이언트가 구현해야 한다.
소개
[급증하는 사용자 요청, 어떻게 놓치지 않고 안정적으로 처리할 수 있을까?] 채널톡이 벌크 요청을 공정하고 안전하게 처리하기 위해 설계한 아키텍처와 Go 기반 구현 전략을 중심으로, 대규모 트래픽 핸들링의 실전 노하우를 소개합니다.
비슷한 학습 자료
컨퍼런스 DAN 2025
[팀네이버 컨퍼런스 DAN25] What's In Our Infra: 대규모 트래픽을 수용하기까지
컨퍼런스 DAN 2025
[팀네이버 컨퍼런스 DAN25] What's In Our Infra: 대규모 트래픽을 수용하기까지 네이버는 50여 개국에서 유입되는 수백만 규모의 트래픽을 24/7 안정적으로 처리하고 있습니다. 본 세션은 대규모 이벤트 운영 경험을 바탕으로 지연·장애·비용 문제를 해결하기 위한 엔지니어링 사례와 그 과정에서 얻은 교훈을 다룹니다. 아울러 한계를 넘어서기 위한 새로운 도전인 NVELOP(NAVER Velocity Platform) 의 배경과 방향을 소개합니다. 목차 1. Intro - 네이버 글로벌 라이브 스트리밍 플랫폼의 인프라 구성 개요 - 서비스 콘셉트와 챌린지 2. 무중단 서비스를 위한 엔지니어링 사례 - 대규모 트래픽 분산·제어 전략 - 전송 플랫폼 **최적화(Tune-in) **사례 - **Observability **도입 3. NVELOP (NAVER Velocity Platform) 방향 - 기존 플랫폼 한계 ...
데브옵스 · 인프라 네트워크
컨퍼런스 채널데브톡 2025
[Intro] 채널의 제품팀을 소개합니다
컨퍼런스 채널데브톡 2025
[Frontend] UI를 꼭 사람이 짜야 할까요?
컨퍼런스 채널데브톡 2025
[iOS] 왜 우리는 iOS 채팅 앱에서 17만 줄을 걷어냈나
컨퍼런스 채널데브톡 2025
[Backend] 버그 대응과 PR 리뷰 시간 90% 단축시킨 방법
문서 함종현