如何在 SQS 中发送和使用 sleuth traceId
How to send and consume sleuth traceId in SQS
我正在使用 spring-cloud-sleuth.version:3.0.4
和 spring-cloud-aws-messaging:2.2.6.RELEASE
它使用 HTTP 请求正确传播跟踪 ID。
但是,它似乎不适用于 SQS。
有什么方法可以通过 SQS 通信自动发送和使用 sleuth traceId。
Spring Cloud AWS 现在是一个社区项目,请参阅:https://awspring.io/
Spring Cloud (2020.x) 的当前版本系列,您可以在其中找到 Sleuth 3.x,但 include/support 没有。
对于 Spring Cloud (2020.x) 的当前发布系列,您应该使用 io.awspring.cloud:spring-cloud-aws-messaging:2.3.x
而不是 org.springframework.cloud:spring-cloud-aws-messaging:2.2.x
。
由于这些原因,Sleuth 不会直接检测 Spring AWS Messaging,但如果您可以以与已检测的 Spring Integration/Messaging/Stream/something 集成的方式使用 SQS,这可能工作;即:我会尝试使用 QueueMessageChannel
和注释,我认为 QueueMessagingTemplate
行不通。
您可以做的另一件事是手动检测它并在 headers 中传播跟踪信息,请参阅:TraceSpringMessagingAutoConfiguration
我正在使用 spring-cloud-sleuth.version:3.0.4
和 spring-cloud-aws-messaging:2.2.6.RELEASE
它使用 HTTP 请求正确传播跟踪 ID。
但是,它似乎不适用于 SQS。
有什么方法可以通过 SQS 通信自动发送和使用 sleuth traceId。
Spring Cloud AWS 现在是一个社区项目,请参阅:https://awspring.io/ Spring Cloud (2020.x) 的当前版本系列,您可以在其中找到 Sleuth 3.x,但 include/support 没有。
对于 Spring Cloud (2020.x) 的当前发布系列,您应该使用 io.awspring.cloud:spring-cloud-aws-messaging:2.3.x
而不是 org.springframework.cloud:spring-cloud-aws-messaging:2.2.x
。
由于这些原因,Sleuth 不会直接检测 Spring AWS Messaging,但如果您可以以与已检测的 Spring Integration/Messaging/Stream/something 集成的方式使用 SQS,这可能工作;即:我会尝试使用 QueueMessageChannel
和注释,我认为 QueueMessagingTemplate
行不通。
您可以做的另一件事是手动检测它并在 headers 中传播跟踪信息,请参阅:TraceSpringMessagingAutoConfiguration