当前位置: 首页 > 知识库问答 >
问题:

spring-cloud-sleuth(引导)集成与spring-integration

钱运浩
2023-03-14

当Spring Integration(Spring boot)应用程序调用Spring boot应用程序来侦测traceID和spanID的日志记录时,就会出现该问题。

URL调用-->Facade(用spring integration编写,spring boot并支持sleuth)-->spring boot微服务(支持sleuth)

微服务%1调用微服务%2

Microserice 1日志:

2017-04-18 17:42:31.887[0;39m[32m信息[CS门面,ff711e7b275d03a7,b3f14f1a5cf6bd1d,true][0;39m[35m6280[0;39m[2m---[0;39m[2m]

<int-http:outbound-gateway id="getAccount"
        url="http://localhost:8083/rest/hello/micro2"
        request-channel="receiveChannel" reply-channel="publishsubscribechannel"
        http-method="GET" expected-response-type="java.lang.String">

</int-http:outbound-gateway>

微服务2代码

@GetMapping(value = "/micro2")
public String hello() {

    LOGGER.info("Reached micro2"+accessor.getCurrentSpan());
    return "HelloWorld";
}

共有1个答案

程凯定
2023-03-14

我很抱歉,但是您格式化了代码,并且以这样一种方式编写文本,以至于我几乎不明白问题是什么。如果两个应用程序都是Spring Boot,而且一切都运行得很好?这并不奇怪,因为Sleuth是一个基于引导的库。这意味着使用引导和侦测寄存器所有必要的组件就足够了。如果是一个非Spring Boot应用程序,您基本上必须自己完成所有的工作。这意味着通过HTTP或消息传递来传递跟踪头。

 类似资料:
  • 我找不到任何将Spring Cloud Sleuth与Spring Cloud Gateway集成的示例。想要一个成功集成的示例项目。

  • 我正在尝试将SpringCloudSleuth与使用jetty服务器的现有spring应用程序集成。 我补充说 和 启动应用程序时,我应该如何传递记录器属性、日志模式?现在,它不会读取/resources文件夹下的属性文件,也不会生成traceId或spanId。 大多数示例都使用了Spring Boot。需要帮助来弄清楚如何将此与带有码头服务器的Spring应用程序集成。

  • 寻找一个示例,展示将spring cloud sleuth与spring boot amqp(rabbit)发布者和订阅者集成在一起。 我确实在日志中看到以下消息 另外,在接收服务上应该做些什么?

  • 有没有办法将Spring Cloud Sleuth与OpenTracing结合使用?我想将Spring客户机与Jaeger联系起来

  • 我使用Kafka来实现微服务之间的呼叫同步,并使用SpringSleuth进行日志记录。日志记录是可以的,但是当有一条消息从MicroService 1发送到MicroService 2时,日志记录的消息具有不同的跟踪ID。它们不是必须具有相同的跟踪ID但具有不同的SpanId吗?是否有任何特殊配置?

  • 我第一次使用Spring Boot,正在为我的应用程序设置分布式跟踪。我已经将Spring Cloud Slueth添加到我的应用程序中,当调用我的endpoint时,我可以看到生成的跨度和跟踪,但是我很难让它与Aws Sdk 2. x集成(使用Dynamo异步客户端)。我有几个关于集成的问题: 通过aws sdk跟踪http调用的最佳方式是什么。我能做到这一点的唯一方法是实现ExecutionI