Moait
홈인기 피드모든 블로그모든 태그
홈인기 피드모든 블로그모든 태그

로그가 서비스를 죽였다

무신사 favicon무신사·Architecture·
JavaOpenTelemetryDistributed TracingMDCLogback
2026년 10월 01일0

AI 요약

이 글은 AI가 요약했어요. 정확한 내용은 꼭 원문을 확인해 주세요!

핵심 요약

무신사에서 관측성과 가용성을 동시에 확보하기 위해, 로그 비동기 처리로 trace_id 손실을 막는 커스텀 TraceAwareAsyncAppender를 구현했습니다.

주요 경험

  • AsyncAppender를 제거하면 가용성은 회복되지만 trace_id 누락 문제가 남아 전사 표준의 한계를 드러냈습니다.
  • 해결으로 caller 스레드에서 trace_id를 미리 캡처하여 TraceStampedEvent 래퍼에 저장하고 워커가 이를 출력하도록 하는 방식을 채택했습니다.
  • 부하 테스트에서 초당 1만 5천 줄 로그까지 허용하되 neverBlock 드롭 정책으로 일부 로그를 버리고, p95 지연을 29ms 수준으로 유지하는 성과를 확인했습니다.

얻은 인사이트

  • trace_id 보존과 비동기 로깅은 캡처 시점을 바꾸는 간단한 변경으로 함께 달성될 수 있습니다.
  • 전사 표준의 제약은 현장 상황에 맞춰 재해석할 수 있어야 하며, 로그 관리량의 균형이 여전히 중요합니다.

연관 피드

%가 높을수록 이 글과 비슷할 가능성이 높아요!
No Image
70%

보이지 않는 품질, 데이터. 로그가 틀리면 고객도 틀린다

무신사 favicon무신사·2026년 03월 23일
불편함에서 시작된 효율화: QA 리포트 자동화하기 섬네일
69%

불편함에서 시작된 효율화: QA 리포트 자동화하기

무신사 favicon무신사·2025년 11월 09일
No Image
69%

불편함에서 시작된 효율화: QA 리포트 자동화하기

무신사 favicon무신사·2025년 11월 09일