Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
spring cloud sleuth服务与第三方服务的集成_Spring_Spring Cloud Sleuth - Fatal编程技术网

spring cloud sleuth服务与第三方服务的集成

spring cloud sleuth服务与第三方服务的集成,spring,spring-cloud-sleuth,Spring,Spring Cloud Sleuth,我有两个微型服务:a和B。a调用B,B调用一些外部服务。 A和B使用侦探。 Sleuth定义标题X-B3-TraceId和X-B3-SpanId 所以A将头传播到B,B传播到外部服务 问题:服务B是否在响应之前存储其标题?若外部服务以某种方式破坏了我的头,作为响应,我会在头中得到错误的ID。。。会发生什么? 为避免此类冲突,最好定义自己的标题?与外部服务交互的最佳方式是什么 问题:服务B是否在响应之前存储其标题? 我不太明白,但我假设问题是,如果回复回来并进行了一些额外的处理,是否会保留跟踪信息

我有两个微型服务:a和B。a调用B,B调用一些外部服务。 A和B使用侦探。 Sleuth定义标题X-B3-TraceId和X-B3-SpanId

所以A将头传播到B,B传播到外部服务

问题:服务B是否在响应之前存储其标题?若外部服务以某种方式破坏了我的头,作为响应,我会在头中得到错误的ID。。。会发生什么? 为避免此类冲突,最好定义自己的标题?与外部服务交互的最佳方式是什么

问题:服务B是否在响应之前存储其标题? 我不太明白,但我假设问题是,如果回复回来并进行了一些额外的处理,是否会保留跟踪信息。答案是肯定的,它将被传播

若外部服务以某种方式破坏了我的头,作为响应,我会在头中得到错误的ID。。。会发生什么

响应标题对我们来说并不重要。请求包含所有跟踪信息。外部服务将不会在您的系统中看到,因为您将无法将SR和SS注释从其一侧获取到Zipkin实例。所以在向他们发出请求后,你显然不知道他们那边发生了什么

为避免此类冲突,最好定义自己的标题?与外部服务交互的最佳方式是什么


我想我已经设法通过解释请求头是重要的,而不是响应来回应它。

感谢您的回复,似乎我已经有了这个想法。Marcin,我们提出了另一个问题:我们有一个非Spring客户端-它调用我的服务A。而不是客户端调用我的另一个服务C。我想在同一id下跟踪两个调用,不需要是跟踪id。另外,如果这个id是在服务A的第一次调用时生成的,那么最好的方法是什么?用于A,Brave或Sleuth代表B,Brave或Sleuth代表C。这样,一切都会得到正确的传播,因为Sleuth和Brave配合得很好。谢谢,请看一看!