当 spring-cloud-starter-zipkin 使用 zipkin.brave 时,为什么需要 Spring sleuth ?

use*_*680 8 zipkin spring-boot spring-cloud spring-cloud-sleuth

只需添加 spring-cloud-starter-zipkin 也能够生成 spanId 和 TraceId 那么 Sleuth 需要什么?spring-cloud-starter-zipkin 实际上是自己拉 io.zipkin.brave 而不是 Sleuth。

Jon*_*oni 15

spring-cloud-starter-zipkin已弃用,您不应再使用它。您可以使用spring-cloud-starter-sleuthspring-cloud-sleuth-zipkin( 3.x)。

如果你检查它的依赖关系,spring-cloud-starter-zipkin你会发现它依赖于 Sleuth spring-cloud-starter-sleuthspring-cloud-sleuth-zipkin因此它引入了 Sleuth 和 Sleuth 的 Zipkin 支持(引入了 Brave)。

从高层的角度来看,Sleuth 正在做三件事:

  1. 它为跟踪库提供 API 抽象(Brave 是默认库,OTel 正在孵化,您可以实现自己的跟踪库集成)
  2. 仪器其他 Spring 项目
  3. 与其他组件集成(例如:日志关联、Tomcat 访问日志支持等)

请参阅文档:https://docs.spring.io/spring-cloud-sleuth/docs/current/reference/htmlsingle/