핵심 요약
여기어때가 NotiHub 기반의 이벤트 수신→Slack 전송 파이프라인을 3레이어 아키텍처로 구성하고 Kafka/Redis/HPA를 결합해 확장성과 안정성을 확보했습니다.
구현 방법
- Kafka의 Consumer Group과 내부 샤딩으로 다수 Processor Pod에 부하를 균등 분배
- Receiver가 JSON 스키마 검증 후 Kafka로 발행, Processor가 다중 채널 라우팅과 Handlebars 렌더링
- 3중 캐시(Local Cache→Redis→API/DB)와 Fallback/Backoff으로 무중단성 확보
- 80% CPU 기준 HPA로 트래픽 폭증 대응, 샤딩 봇과 채널별 큐로 Slack 한계 극복
- 내부망/외부망 분리와 Static/Dynamic Key 검증으로 보안 강화
주요 결과
- 샤딩 도입 후 초당 수천 건의 메시지 안정 처리
- HPA로 자동 확장 및 Redis 장애 시 로컬 캐시 우선으로 연속성 확보
- 향후 Redis Pub/Sub를 통한 이벤트 기반 무효화 도입 예정
