我有以下设置:
spring-cloud-starter-zipkin
和spring-cloud-stream-binder-kafka
依赖项。openzipkin/zipkin:2.8
泊坞窗图片TraceChannelInterceptor
的日志消息,表明正在进行检测当我过去包含spring-cloud-sleuth-stream
dependendy时,曾经有一个StreamEnvironmentPostProcessor
完成了将跟踪标头添加到kafka绑定的工作。 But the doc clearly states now:
注意:不推荐使用spring-cloud-sleuth-stream并且与这些目标不兼容
我该怎么做才能使这项工作正常进行?自己将标题添加到绑定配置?或者我有什么遗失的东西?
答案 0 :(得分:1)
这是Edgware中的Spring Cloud Sleuth中的一个错误。 Edgware中的Stream Kafka Binder需要显式传递应该传播的标头。在类路径上添加sleuth-stream
的副作用正是该功能。通过修复https://github.com/spring-cloud/spring-cloud-sleuth/issues/1005问题,我们将缺少的功能添加回核心。由于Finchley的Stream Kafka Binder默认传递所有标题,因此不会移植到Finchley。
Edgware的解决方法是以下列方式传递标题列表:
spring:
cloud:
stream:
kafka:
binder:
headers:
- spanId
- spanSampled
- spanProcessId
- spanParentSpanId
- spanTraceId
- spanName
- messageSent