我有2个服务正在通过Kafka交换事件。第一个服务包在消息有效负载中直接包含必要的跟踪信息(标题由勇敢者设置:traceId,spanId等)。第二个服务的使用者检索此信息并创建适当的使用者范围。我可以看到整个跟踪,包括Zipkin中的两个服务。但是我无法在用户端的日志中看到适当的跟踪信息。在生产者方面,一切正常。
消费者方的代码(因为跟踪发送到zipkin,我认为大多数配置都可以,但是跟踪信息只是不会传播到日志上下文中……):
OrderSubmittedEvent event = message.getOrderSubmittedEvent();
logger.info("Received OrderSubmittedEvent" + event);
TraceContext.Extractor<Object> extractor = tracing.propagation()
.extractor((c, key) -> message.getPropertiesMap().get(key));
Span oneWayReceive = tracer.nextSpan(extractor.extract(message))
.name("process-request")
.kind(CONSUMER);
oneWayReceive.start().flush();
您有什么建议?也许我应该附加一些东西,但似乎这是我在侦探和勇敢中唯一拥有的代码。