У меня есть 2 очень простых приложения с весенним облачным потоком. Service3, производитель сообщений, отправляет сообщения Service4, потребителю, через связующее-кафку.Не удалось проследить весенний облачный поток Слушатель с весенним туманом
И я использую весеннего облака, чтобы проследить промежутки между ними. Но только промежутки в Service3 доступны на сервере zipkin. Нет показов span для Service4.
service3
dependencies { 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 spans over a Spring cloud stream binder compile('org.springframework.cloud:spring-cloud-sleuth-stream') compile('org.springframework.cloud:spring-cloud-stream-binder-kafka') testCompile group: 'junit', name: 'junit', version: '4.11' } @SpringBootApplication public class Service3 { public static void main(String[] args) { SpringApplication.run(Service3.class, args); } } @Controller @EnableBinding(Source.class) public class WebController { @Autowired private Source source; @GetMapping("/srv4") private String getSrv4Info(){ String msg = "Hello Service 4"; this.source.output().send(MessageBuilder.withPayload(msg).build()); return "srv4"; } }
Service4
dependencies { compile('org.springframework.boot:spring-boot-starter-web') compile('org.springframework.cloud:spring-cloud-starter-sleuth') // Marshal spans over a Spring cloud stream binder 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', name: 'junit', version: '4.11' } @SpringBootApplication @EnableZipkinStreamServer public class Service4 { public static void main(String[] args) { SpringApplication.run(Service4.class, args); } } @EnableBinding(Sink.class) public class MsgReceiver { @StreamListener(Sink.INPUT) private void listen(Message<String> msg){ System.out.println(msg.getPayload()); } }
Servic4 (message consumer) is not traced
Что я пропустил?
Наконец, я нашел 2 вопросов, связанных с моими приложениями. 1. Приложение с @EnalbeZipkinStreamServer невозможно проследить. Это похоже на дизайн. – RocWay
Да, это сделано по причине дизайна, мы не хотим отслеживать трассировщик –