首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法追踪弹簧云流侦听器与弹簧云侦查

无法追踪弹簧云流侦听器与弹簧云侦查
EN

Stack Overflow用户
提问于 2017-02-22 09:02:42
回答 2查看 1.1K关注 0票数 0

我有两个非常简单的春云流应用程序。Service3,消息生产者,通过绑定器-卡夫卡向消费者Service4发送消息。

我用春云雪橇来追踪它们之间的跨度。但是在zipkin服务器中,只有Service3中的spans可用。Service4没有span显示。

  1. Service3 依赖关系{ compile('org.springframework.boot:spring-boot-starter-web') compile('org.springframework.boot:spring-boot-starter-thymeleaf') compile('org.springframework.cloud:spring-cloud-starter-sleuth') // Marshal跨越Spring云流绑定器compile('org.springframework.cloud:spring-cloud-sleuth-stream') compile('org.springframework.cloud:spring-cloud-stream-binder-kafka') testCompile组:“junit”,名称:“junit”,版本:'4.11‘} @SpringBootApplication公共类Service3 {String[]静态void (String[] args) { SpringApplication.run(Service3.class,args);}} @Controller @EnableBinding(Source.class)公共类WebController { @Autowired私有源源;@WebController映射(“/srv4”)私有字符串getSrv4Info(){ String msg = "Hello 4";WebController返回"srv4";}}
  2. Service4 依赖关系{ compile('org.springframework.boot:spring-boot-starter-web') compile('org.springframework.cloud:spring-cloud-starter-sleuth') // Marshal跨越Spring云流绑定器compile('org.springframework.cloud:spring-cloud-sleuth-stream') compile('org.springframework.cloud:spring-cloud-sleuth-zipkin-stream') compile('org.springframework.cloud:spring-cloud-stream-binder-kafka')runtime('io.zipkin.java:zipkin-autoconfigure-ui') testCompile group:'junit',名称:'junit',版本:'4.11‘} @SpringBootApplication @EnableZipkinStreamServer公共类Service4 {String[]静态空主(String[] args) { SpringApplication.run(Service4.class,args);}} @EnableBinding(Sink.class)公共类MsgReceiver { @StreamListener(Sink.INPUT)私有无效侦听(Message msg){ System.out.println(msg.getPayload());}

Servic4 (消息使用者)未被跟踪

我错过了什么?

EN

回答 2

Stack Overflow用户

发布于 2017-02-22 15:14:57

这是猜测。

Kafka没有消息头的概念(其中存储跨)。

因此,SCSt必须在有效负载中嵌入消息头。

当前版本要求您“选择”以这种方式传输的标头。

这里的文件

spring.cloud.stream.kafka.binder.headers 将由绑定程序传输的自定义标头列表。 默认值:空。

不幸的是,目前不支持模式,您必须单独列出头。默认情况下,我们是考虑增加对模式的支持和/或传输所有标头。

票数 0
EN

Stack Overflow用户

发布于 2017-02-23 07:11:02

最后,我发现了与我的应用程序相关的两个问题。1.无法追踪@EnalbeZipkinStreamServer的应用程序。这看上去像是设计出来的。2.如果使用kafka作为粘合剂,应用程序应将标头指定如下:

代码语言:javascript
复制
    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]=spanFlags
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42386925

复制
相关文章

相似问题

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