我有两个非常简单的春云流应用程序。Service3,消息生产者,通过绑定器-卡夫卡向消费者Service4发送消息。
我用春云雪橇来追踪它们之间的跨度。但是在zipkin服务器中,只有Service3中的spans可用。Service4没有span显示。
我错过了什么?
发布于 2017-02-22 15:14:57
这是猜测。
Kafka没有消息头的概念(其中存储跨)。
因此,SCSt必须在有效负载中嵌入消息头。
当前版本要求您“选择”以这种方式传输的标头。
这里的文件。
spring.cloud.stream.kafka.binder.headers 将由绑定程序传输的自定义标头列表。 默认值:空。
不幸的是,目前不支持模式,您必须单独列出头。默认情况下,我们是考虑增加对模式的支持和/或传输所有标头。
发布于 2017-02-23 07:11:02
最后,我发现了与我的应用程序相关的两个问题。1.无法追踪@EnalbeZipkinStreamServer的应用程序。这看上去像是设计出来的。2.如果使用kafka作为粘合剂,应用程序应将标头指定如下:
spring.cloud.stream.kafka.binder.headers[0]=spanId
spring.cloud.stream.kafka.binder.headers[1]=spanSampled
spring.cloud.stream.kafka.binder.headers[2]=spanProcessId
spring.cloud.stream.kafka.binder.headers[3]=spanParentSpanId
spring.cloud.stream.kafka.binder.headers[4]=spanTraceId
spring.cloud.stream.kafka.binder.headers[5]=spanName
spring.cloud.stream.kafka.binder.headers[6]=spanFlagshttps://stackoverflow.com/questions/42386925
复制相似问题