여기어때 이벤트 기반 통합 알림 플랫폼 구축기 Part 2. How?
데브옵스
여기어때 이벤트 기반 통합 알림 플랫폼 구축기 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과 샤딩으로 분산 처리 일관성 유지
