여기어때 이벤트 기반 통합 알림 플랫폼 구축기 Part 2. How?
두줄요약
여기어때의 통합 알림 플랫폼 NotiHub 설계와 핵심 의사결정을 정리했습니다. Kafka, Redis, HPA, 샤딩으로 안정성과 확장성을 함께 확보했습니다.
핵심 내용
- 여기어때의 이벤트 기반 통합 알림 플랫폼 NotiHub의 기술적 설계와 주요 의사결정 정리
- 중앙화된 알림 관리, 보안 분리, 유실 방지, Slack Rate Limit 대응, 설정 즉시 반영을 위한 구조 소개
- HPA, Kafka, Redis, 샤딩, 캐시 계층, 조건 엔진, 템플릿 렌더링, 스레드·에스컬레이션을 활용한 운영 설계
구조와 흐름
- Receiver에서 JSON 스키마 검증과 키 확인 후 Kafka로 이벤트 발행
- Processor가 채널 라우팅, 조건 판단, Handlebars 렌더링, 스레드 관리, 에스컬레이션 처리
- 내부망과 외부망을 분리하고 Static Key, Dynamic Key, B2B Gateway로 검증 구조 구성
선택 이유
- 개인 웹훅 의존성과 알림 정책 부재를 줄이기 위한 중앙 집중형 전환
- 단일 장애점 위험을 감수하되 운영 효율과 관제 가능성을 더 큰 가치로 판단
- Slack API 한계와 고트래픽 상황을 고려해 봇 샤딩과 채널별 큐 격리 도입
성능/운영 포인트
- HPA, 무중단 배포, 다중 레이어 캐싱으로 가용성 확보
- Local Cache, Redis, API/DB의 3중 캐시와 Fallback, Exponential Backoff로 장애 내성 강화
- Kafka Consumer Group과 샤딩으로 분산 처리 일관성 유지




