
아키텍처
Pushsphere: LINE 메신저의 빠르고 신뢰할 수 있는 대량 푸시 알림 비법
두줄요약
LINE 메신저의 대량 푸시 알림을 안정적으로 보내기 위해 Pushsphere를 설계하고 도입했습니다. 재시도, 할당량, 엔드포인트 상태를 함께 고려해 도달률과 운영 안정성을 높였습니다.
문제 상황
- LINE 메신저의 푸시 알림은 메시지 전달·통화·재해 알림과 직접 연결돼 높은 신뢰성과 신속성이 요구되는 전송 경로
- APNs와 FCM의 인스턴스 편차, 갑작스러운 트래픽 급증, 할당량 제한으로 인해 재시도만으로는 도달률을 보장하기 어려운 상황
- 단일 L4 로드밸런서와 쿠버네티스 중심 구성의 과부하, 단일 장애점, 멀티 리전 제약
원인 분석
- 재시도 대상 엔드포인트를 단순 라운드로빈으로 고르면 실패한 인스턴스를 다시 선택할 가능성 존재
- 재시도 횟수와 지연을 하드코딩하면 특정 리전 장애 시 할당량을 빠르게 소진할 위험 존재
- APNs와 FCM이 헬스 체크를 제공하지 않아 엔드포인트 상태를 클라이언트가 직접 판단해야 하는 구조
해결 방법
- Pushsphere 게이트웨이와 클라이언트 라이브러리로 전송 경로를 분리하고, Armeria·Netty 기반 비동기 전송 구성
- 재시도 인식 로드밸런서, 할당량 인식 자동 재시도, 엔드포인트 매니저와 서킷 브레이커 연동을 적용
- CDCP 기반 프록시 없는 서비스 메시와 존 인식 라우팅으로 멀티 데이터 센터 트래픽을 균등 분배
성능/운영 포인트
- 온콜 알람이 연간 30건 이상에서 2025년 4건으로 감소
- 최종 메시지 전송 실패율이 0에 가까운 수준으로 개선
- 클라이언트 측 로드밸런싱으로 중앙 집중식 분배와 단일 장애점 제거