핵심 요약
우아한형제들이 MQTT 기반 알림 시스템을 AWS IoT와 Kafka 기반 브로커, SSE로 재구성해 실시간 알림의 안정성과 확장성을 높이고 Polling 비용을 줄였습니다.
구현 방법
- Kafka를 통한 파티션 기반 메시지 라우팅으로 순서 보장 및 확장성 확보
- SSE를 통한 단방향 HTTP 스트리밍으로 폴링 제거 및 실시간 알림 제공
- 정형화된 JSON 메시지 포맷 도입, Last-Event-ID 및 CommitEvent를 통한 재전송/확인 및 보안 강화
주요 결과
- 일 평균 약 4천만 건의 이벤트를 안정적으로 처리
- 클라이언트 Polling 제거로 네트워크 트래픽 감소 및 방화벽 이슈 해결
- 표준 HTTP 포트 사용으로 방화벽 이슈 해결
- 보안 강화: HMAC 인증 및 중복 연결 방지


