首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >弹簧云浮(引导)与弹簧集成

弹簧云浮(引导)与弹簧集成
EN

Stack Overflow用户
提问于 2017-04-18 08:06:36
回答 2查看 1.1K关注 0票数 0

当( Spring )应用程序调用Spring应用程序来跟踪traceID和spanID的日志时,就会出现这个问题。

URL调用->Facade(用spring集成编写,spring启动并支持Sleuth)-> Spring启动微服务(支持Sleuth支持)

微服务1: spring集成Http调用

微服务2:弹簧引导休息控制器

以下是这两个微服务日志的详细信息。

微服务1呼叫微服务2

Microserice 1 log:

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

微服务2日志:

[2 m2017-04-18 17:43:26.133[0;39m [32m INFO -,-false0 0;39m][35m14184][0;39m][2m--[0;39m][2 2mnio 8083-exec-10;39m] [36mc.t.cloud.resource.HelloResource ]

尽管两者都有相同的请求调用,但traceID是不同的。当这两个应用程序都是纯spring引导应用程序而没有使用http spring集成时,它的工作原理非常完美。

Microservice 1代码

代码语言:javascript
复制
<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代码

代码语言:javascript
复制
@GetMapping(value = "/micro2")
public String hello() {

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

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-18 08:11:15

对不起,您格式化了代码,并以这样的方式编写了文本,我几乎不明白问题是什么。如果这两个应用程序都是Spring,而且一切都很好的话?这并不奇怪,因为Sleuth是一个基于Boot的库。这意味着使用Boot和Sleuth注册所有必要的组件就足够了。在非Spring应用程序的情况下,你基本上必须自己做所有的工作。这意味着通过HTTP或消息传递跟踪头。

票数 0
EN

Stack Overflow用户

发布于 2019-04-11 15:37:05

到Sleuth 2.1.0为止,spring集成不会自动传播X-B3*标头。

有解决办法的https://github.com/spring-cloud/spring-cloud-sleuth/issues/1333

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43466858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档