그 많던 메시지는 누가 다 먹었을까?
37
AI 요약

이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.

카카오뱅크 알림탭 시스템 동시성 문제 해결기

이 게시물은 카카오뱅크 알림탭 시스템에서 발생한 동시성 문제를 분석하고 해결한 경험을 다룹니다.

문제 원인 분석

  • 샤딩스피어 라이브러리 내 구문 트리 캐싱과 멀티스레드 경쟁 상태로 인한 메시지 누락 및 잘못된 샤드 쿼리
  • 싱글톤 객체의 공유 멤버 변수로 인한 상태 오염
  • 지연 초기화가 미흡한 ParsingRuleRegistry의 초기화 문제

문제 해결 방안

  • SQL문 변경으로 구문 트리 경쟁 상태 해소
  • 임계영역 진입 순서 보장을 위한 부트스트랩 시 Warm-Up 도입
  • 핵심 라이브러리 버전 관리 및 모니터링 체계 구축

교훈

근본 원인 없는 문제는 없으며, 공유 자원과 멀티스레드 환경에서의 설계 중요성을 강조합니다.

연관 게시글