为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Jaeger 跟踪分布式应用程序中的 Kafka 总线

使用 Jaeger 跟踪分布式应用程序中的 Kafka 总线

Go
烙印99 2023-06-26 18:00:55
我有一个由多个 Go 服务组成的分发应用程序。其中一些使用 Kafka 作为数据总线。opentracing我能够使用Jaeger追踪服务之间的调用。我在图表上绘制 Kafka 跨度时遇到问题,它们显示为间隙。这就是我能做的。初始跨度由 gRPC 中间件创建。生产方:...    kafkaMsg := kafka.Message{Key: []byte(key), Value: msgBytes}headers:=make(map[string]string)if span := opentracing.SpanFromContext(ctx); span != nil {    opentracing.GlobalTracer().Inject(        span.Context(),        opentracing.TextMap,        opentracing.TextMapCarrier(headers))}for headerKey, headerValue:=range headers{    msg.Headers = append(msg.Headers, kafka.Header{        Key: headerKey,        Value: []byte(headerValue),    })}// Write message to Kafka...消费端:...// read headers from Kafka messageheaders := make(map[string]string)for _, header := range kafkaMessage.Headers{    headers[header.Key]=string(header.Value)}spanContext, _ := opentracing.GlobalTracer().Extract(opentracing.TextMap, opentracing.TextMapCarrier(headers))span := opentracing.StartSpan(    "Consumer",    opentracing.FollowsFrom(spanContext))defer span.Finish()...当消息位于 Kafka 中时,我应该如何修改它以在图表上绘制跨度?
查看完整描述

1 回答

?
翻阅古今

TA贡献1780条经验 获得超5个赞

Jaeger 不支持跨系统跨度。每个子系统对整个系统中自己的跨度负责。



查看完整回答
反对 回复 2023-06-26
  • 1 回答
  • 0 关注
  • 129 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信