[Spring] Sleuth Remove Message Header
- Spring
- 2021. 9. 18.
이번글에서는 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 |