• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

TraceId 관련하여 질문 드립니다

22.10.04 16:12 작성 조회수 381

0

안녕하세요 수업 잘듣고 있습니다!

다름이 아니라 수업 도중 TraceId 와 Status 관련하여 개념이 헷갈려서 질문 드립니다.

제가 아는 Id 의 경우는 식별자여서 오로지 uuid 만 보관하고 사용해야 한다고 생각하는데 수업에서는 level을 두고 그곳에서 +1 -1 을 진행하신점이 왜 그런 방식으로 하시는 것인지 궁금합니다.

제 생각으로는 Status 쪽에서 level 을 관리해야하는 것이 아닌가 생각이 들어 여쭈어 봅니다.

 

질문의 핵심은 어떤 필드를 TraceId에 넣어야 하고 어떤 필드를 Status 에 넣어야하는지 명확한 기준이 있는지 이고 그 기준은 어떤 것인지 궁금합니다.

 

추가적으로 spring 을 공부하면서 Holder라는 관용구를 상당히 많이 보는데 이 holder 라는 객체들의 역할이 무엇인지 궁금합니다.

 

감사합니다

답변 1

답변을 작성해보세요.

0

안녕하세요. hsg0208님

Id를 구성할 때는 여러가지 필요한 내용들을 복합해서 넣기도 합니다. 이 애플리케이션 안에서 필요한 개념을 녹이기 위해 이런 모양을 했다고 생각하시면 됩니다.

Holder는 무언가 들고(가지고) 있는 객체들을 뜻합니다.

감사합니다.

hsg0208님의 프로필

hsg0208

질문자

2022.10.10

답변 감사합니다.

그런데 id 객체 가 왜 불변객체여야 하는지 잘 와닿지 않습니다. createNextId 가 아닌 updateNextId 형식으로 threadLocal 에 존재하는 Id 객체를 업데이트 시키는 방안에는 따로 문제가 있을까요???

안녕하세요. hsg0208님

생각하신 것 처럼 변경해도 상황에 따라서 크게 문제가 되지는 않습니다.

다만 id를 변경하게 되면 버그를 로그등을 남길 때 오류를 추적하기가 매우 어려워집니다.

감사합니다.