
데브옵스
에러? 1초 만에 잡아드립니다 - AOP와 Redis로 구축한 실시간 알림 시스템
두줄요약
AOP와 Redis로 실시간 에러 알림 시스템을 구축한 사례를 다루었습니다. 기존 배치 기반 알림의 한계를 줄이고 장애 대응성과 중복 알림 제어를 개선했습니다.
문제 상황
- 기존 에러 알림 시스템의 5분 배치 기반 구조
- 스케줄러, 배치 서버, DB 중 하나만 장애가 나도 알림 누락 가능성
- 동일 오류 반복 시 불필요한 알림 지속 발생
원인 분석
- 실시간성이 아닌 주기적 점검 방식
- 알림 판단과 저장이 특정 인프라 구성요소에 과도하게 의존
- 중복 오류 제어와 장애 전파 차단 로직 부족
해결 방법
- AOP와 Redis 기반 실시간 에러 알림 시스템 도입
- Redis 우선 처리 후 장애 시 RDB로 책임 전가하는 Chain of Responsibility 적용
- Redis와 RDB 예외 이력은 WriteBack 방식으로 동기화
성능/운영 포인트
- 동일 예외 해시 기반 식별로 중복 알림 제어
- 발생 건수 기준으로 알림 억제하여 Slack 노이즈 감소
- Redis Scan 대안으로 변경 Key 목록을 별도 저장해 동기화 부하 완화
