핵심 요약
롯데ON의 인터페이스 이력 관리 시스템은 AOP와 MDC를 활용해 같은 요청의 추적 ID와 호출 스택을 비동기 환경에서도 일관되게 유지하고, 이력 저장의 신뢰성과 디버깅 효율성을 높인 사례입니다.
구현 방법
- Template Method Pattern과 포인트컷으로 트래픽 유형을 판단하고 이력 흐름을 정의
- Time/CallStack/Result 데코레이터로 응답 시간, 호출 스택, 결과를 순차 저장
- MDC 전파와 BeanPostProcessor로 스레드 풀 자식 스레드 간 추적 정보 전달
- Kafka Interceptor로 TRACE_ID를 헤더에 세팅하고 SPAN_ID로 중복 방지
주요 결과
- 비동기 스레드 간 추적 정보 유지로 디버깅 일관성 향상
- 메모리 누수 방지 및 리소스 정리로 안정성 강화
