대규모 알림 · 메시징 인프라
Starzip Notification
Push · Email · 인앱 알림을 한 곳에서 보내는 통합 알림 서버
60만+
발송 대상 회원
5s → 0.5s
새 작업 감지
3채널
Push · Email · 인앱
Flow
- 1요청 등록
- 2대상 분할
- 3채널별 발송
- 4결과 기록
- 5경보
What I built
- 01
대량 발송 Fan-out
- Cursor 페이지 단위로 수신자 분할
- SQS 명령 → 채널 워커 비동기 소비
- 수신자 전체를 메모리에 올리지 않음
- 02
실패와 재시도
- 재시도 · 백오프 · 정체 작업 회수
- 실패 유형별 재시도 / DLQ 격리
- 발송 직전 수신처 Safety Gate
- 03
중복 없는 발송
- Fingerprint 멱등키로 중복 등록 차단
- Redis · ShedLock 분산락
- 다중 인스턴스 예약 작업 제어
- 04
운영 도구
- 즉시 · 예약 · 전체 발송 관리자 API
- 이메일 템플릿 미리보기 · 활성화
- 큐 적체 Slack 경보
- Role
- BE 단독
- Period
- 2026.06 ~ 운영 중
- Team
- Backend 1 (Me)
- Stack
- Kotlin
- Spring Boot 4
- AWS SQS
- PostgreSQL
- Redis · ShedLock
- FCM · SES
- Testcontainers