[Spring] Sleuth Remove Message Header

반응형

이번글에서는 Sleuth를 사용할 때 불필요하게 생성되는 Mesage Header 정보를 Remove 하는 방법에 대해 알아보겠습니다.

Spring Cloud Slueth

sleuth는 MSA 환경에서 분산된 micro service 의 추적을 용이하게 해주는 라이브러리로..

traceId & spanId 와 같은 추적 정보를 MDC 에 자동으로 Inject 해줌으로써

분산되어 있는 Micro Service 내의 전체적인 Call Stack 을 손쉽게 추적할 수 있도록 도와줍니다.

slueth 에 대한 자세한 내용은 이곳을 참고하시길 바랍니다.

이때 주의점으로는 만약 slueth 를 사용하는 서비스에서 message 를 produce 하게 된다면

'TracingChannelInterceptor'가 다음과 같이 header 정보와 slueth 에서 자동으로 생성한 trace & span 정보를

자동으로 inject 한다는 점 입니다.

만약 위 정보를 consumer 입장에서 사용하는 정보라면 상관이 없겠으나..

단순히 payload (message body) 값 만 필요하다고 한다면,

위 header 정보가 message 에 포함되므로써.. 불필요한 resource (Network I/O && Storage) 를 낭비하게 됩니다.

Remove Message Header

따라서 header 정보가 불필요하다고 판단되면

다음과 같이 message 에서만 slueth 를 off 하는 방법으로 resource 낭비를 방지할 수 있습니다.

spring:
  sleuth:
    messaging:
        enabled: false

위 설정 후 message 를 전송해보면

다음과 같이 header 값 들이 remove 되어있는 것을 확인할 수 있습니다.


반응형

'Spring' 카테고리의 다른 글

[Spring] Cloud Stream Multiple Binder  (0) 2021.09.18
[Spring] Json with MultipartFile  (3) 2021.09.02

댓글

Designed by JB FACTORY