spring-cloud-sleuth与spring-amqp集成

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring-cloud-sleuth与spring-amqp集成相关的知识,希望对你有一定的参考价值。

我只是用spring-cloud-sleuth做了第一步,它适用于所有类型的http调用。

现在我也试着看一下覆盖消息传递部分。我看到spring-cloud-sleuth与开箱即用的spring-integration集成在一起。我目前只使用spring-amqp。还有办法让这个工作。有没有人有一些见解甚至代码样本?

答案

目前我们只通过弹簧集成直接支持AMQP。为了支持AMQP,您必须确保发送的所有消息都设置了正确的标头,当您将它们取回时,您必须将这些标头放入本地上下文中。例如,在这里完成向消息注入Span(跟踪)信息-https://github.com/spring-cloud/spring-cloud-sleuth/blob/v1.3.5.RELEASE/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/MessagingSpanTextMapInjector.java并从消息中提取跟踪数据在这里是https://github.com/spring-cloud/spring-cloud-sleuth/blob/v1.3.5.RELEASE/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/MessagingSpanTextMapExtractor.java。在此方法中,您可以将提取的Span设置为上下文https://github.com/spring-cloud/spring-cloud-sleuth/blob/v1.3.5.RELEASE/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceChannelInterceptor.java#L71

更新:

使用Sleuth 2.0.x(Finchley发布列车),如果你有一个兔子模板类型的bean(参见here),它应该开箱即用。不需要额外的代码。

以上是关于spring-cloud-sleuth与spring-amqp集成的主要内容,如果未能解决你的问题,请参考以下文章

spring-cloud-sleuth简单使用

将 spring-cloud-sleuth 添加到类路径时出现“上下文初始化”错误

低版本spring-cloud-sleuth的TraceableExecutorService一个坑,注意绕行

SpringCloud实战-Sleuth

spring cloud zipkin

Sleuth+Zipkin 服务链路追踪