LINE
기술 블로그
B레벨 - 심화

LINE 메시징 플랫폼의 대규모 푸시 알림 아키텍처

메시징
분산시스템
백엔드
KafkaRedisAPNsFCMgRPCKotlin
2020년 2월조회 0면접 0원문 보기

배경

LINE은 일본, 태국, 대만 등에서 2억 명 이상의 사용자에게 메시지를 전달합니다. 푸시 알림은 사용자 참여도에 직접적인 영향을 미치는 핵심 기능으로, 매일 수십억 건의 푸시 알림을 APNs(Apple)와 FCM(Google)을 통해 전송해야 합니다.

도전 과제

수십억 건의 푸시 알림을 빠르게 전송하면서도, 각 플랫폼(iOS/Android)의 Rate Limit를 준수해야 했습니다. 또한 사용자별 알림 선호도, 방해금지 시간대, 디바이스 토큰 만료 관리 등 복잡한 비즈니스 로직을 처리하면서도 전송 지연을 최소화해야 했습니다.

해결 방안

Priority Queue 기반의 다단계 전송 파이프라인을 구축했습니다. 긴급 메시지와 일반 알림을 분리하고, 각 플랫폼의 Rate Limit에 맞는 Token Bucket 기반 전송 속도 제어기를 구현했습니다. 만료된 디바이스 토큰은 비동기로 정리하고, 전송 실패 시 지수 백오프로 재시도합니다.

결과

평균 푸시 전송 지연이 500ms에서 50ms로 90% 감소했습니다. 전송 성공률은 99.7%를 유지하며, 피크 시간대에도 초당 100만 건 이상의 푸시를 안정적으로 처리합니다.

핵심 인사이트

  • 1.Priority Queue로 긴급/일반 알림 분리 처리
  • 2.Token Bucket 알고리즘으로 플랫폼별 Rate Limit 준수
  • 3.비동기 토큰 정리로 만료 디바이스 관리 효율화
  • 4.지수 백오프 재시도로 전송 실패율 최소화

이 사례 기반 면접에 도전해보세요

LINE의 실제 기술적 결정과 트레이드오프를 깊이 파고드는 면접 질문 5가 준비되어 있습니다

시스템설계
백엔드
분산시스템
타이머사례 참조 가능결과 아카이브

로그인 없이 바로 면접을 시작할 수 있습니다