콘텐츠

그 많던 메시지는 누가 다 먹었을까? 🧀

스토리 · 카카오뱅크 테크 · 2025.08.08

카카오뱅크 알림탭 시스템에서 발생한 원인 불명의 메시지 누락 및 오작동 문제를 해결한 경험을 공유하는 글입니다. 분석 결과, Apache ShardingSphere 라이브러리의 싱글톤 객체와 공유 멤버 변수에서 발생하는 Race Condition이 근본 원인이었습니다. 이를 해결하기 위해 SQL 문을 변경하여 동일한 구문 트리를 공유하지 않도록 하거나, Warm-Up 코드를 통해 객체의 초기화를 보장하는 방식을 사용했습니다. 또한, 향후 유사한 문제를 방지하기 위해 핵심 라이브러리를 체계적으로 관리하는 프로세스를 도입했다는 내용도 담고 있습니다. 백엔드 개발자라면 꼭 읽어봐야 할 실무적인 트러블슈팅 사례입니다.