当 spring-cloud-starter-zipkin 使用 zipkin.brave 时,为啥需要 Spring sleuth?
Posted
技术标签:
【中文标题】当 spring-cloud-starter-zipkin 使用 zipkin.brave 时,为啥需要 Spring sleuth?【英文标题】:why need Spring sleuth when spring-cloud-starter-zipkin uses zipkin.brave?当 spring-cloud-starter-zipkin 使用 zipkin.brave 时,为什么需要 Spring sleuth? 【发布时间】:2021-10-25 20:52:02 【问题描述】:只添加 spring-cloud-starter-zipkin 也可以生成 spanId 和 TraceId 那么 Sleuth 需要什么? spring-cloud-starter-zipkin 实际上拉 io.zipkin.brave 本身而不是 Sleuth。
【问题讨论】:
【参考方案1】:spring-cloud-starter-zipkin
已弃用,您不应再使用它。
您可以使用spring-cloud-starter-sleuth
和spring-cloud-sleuth-zipkin
(3.x
)。
如果您检查 spring-cloud-starter-zipkin
的依赖关系,您会发现它依赖于 spring-cloud-starter-sleuth
和 spring-cloud-sleuth-zipkin
,因此它正在拉动 Sleuth 和 Sleuth 的 Zipkin 支持(拉动 Brave)。
从高层的角度来看,Sleuth 正在做三件事:
-
它为 Tracing 库提供 API 抽象(Brave 是默认库,OTel 正在孵化,您可以实现自己的跟踪库集成)
检测其他 Spring 项目
与其他组件集成(例如:日志关联、Tomcat 访问日志支持等)
请参阅文档:https://docs.spring.io/spring-cloud-sleuth/docs/current/reference/htmlsingle/
【讨论】:
以上是关于当 spring-cloud-starter-zipkin 使用 zipkin.brave 时,为啥需要 Spring sleuth?的主要内容,如果未能解决你的问题,请参考以下文章