AOP와 Redis로 에러 알림, 1초 만에!
by DD
1년 전
조회수 14
기존 5분 간격의 에러 알림 시스템의 한계를 극복하기 위해 AOP & Redis 기반 시스템을 구축함
Redis, RDB, Default 3단계 책임 연쇄 패턴을 적용하여 장애 영향도 최소화 및 실시간 알림 구현
WriteBack 패턴을 활용한 Redis-RDB 동기화 과정에서 Redis Scan 문제점을 해결하고 성능 향상을 달성
책임 연쇄 패턴을 활용한 시스템 아키텍처
시스템은 Redis, RDB, Default 3단계로 구성되어 장애 발생 시 유연하게 대처한다. 구체적으로 Redis 장애 시 RDB로, RDB 장애 시 Default 로직으로 책임이 전가된다. 따라서 서비스 안정성을 확보하고 장애 전파 방지에 기여한다.
Redis Scan vs. Key Set 관리 트레이드오프
Redis Scan 명령어 사용 시 Rehashing 문제로 인해 데이터 중복 반환 가능성이 존재한다. 반면, Key Set 관리 방식은 예외 발생 시 추가적인 Cache 연산이 필요하다. 따라서 WriteBack 작업 성능 향상과 다른 클라이언트 작업 속도 보장을 위해 Key Set 방식을 선택했다.
WriteBack 패턴을 이용한 데이터 동기화
WriteBack 패턴을 적용하여 Redis의 예외 이력을 RDB로 동기화한다. 구체적으로 Redis Scan 대신 Key Set을 활용하여 동기화 성능을 개선했다. 결과적으로 데이터 무결성을 유지하고, 장애 발생 시 데이터 유실 방지에 기여한다.