spring-cloud-sleuth集成zipkin之spring-cloud-1.3.4(Dalston.SR3)-boot(1.5.6) 学习笔记

53 篇文章 1 订阅
31 篇文章 0 订阅

spring-cloud-sleuth集成zipkin之spring-cloud-1.3.4(Dalston.SR3)-boot(1.5.6) 学习笔记

概述

ZipkinAutoConfiguration—->zipkin支持

  • 解析以spring.zipkin/spring.sleuth.sampler开头的参数
  • 注入HttpZipkinSpanReporter—->ZipkinSpanReporter—->用于将Span信息发送到Zipkin服务器
    • 用RestTemplate以POST将span信息转换为字节码信息发出
      • 异步从ByteBoundedQueue队列发送Span过程如下:
      • zipkin.reporter.AsyncReporter.BoundedAsyncReporter#flush(zipkin.reporter.BufferNextMessage)
        • org.springframework.cloud.sleuth.zipkin.RestTemplateSender#sendSpans
  • 注入ZipkinSpanListener—->SpanReporter的实现—->SpanReporter是sleuth与zikin的桥梁
    • 同步将Span放入ByteBoundedQueue队列:
      • org.springframework.cloud.sleuth.zipkin.ZipkinSpanListener#report
      • org.springframework.cloud.sleuth.zipkin.HttpZipkinSpanReporter#report
        • zipkin.reporter.AsyncReporter.BoundedAsyncReporter#report

TraceAutoConfiguration—->sleuth核心支持

  • 解析以spring.sleuth/spring.sleuth.keys开头的参数
  • 注入DefaultTracer—->Tracer的实现,Tracer依赖SpanReporter(SpanReporter的实现ZipkinSpanListener)

TraceWebAutoConfiguration—->sleuth web环境支持

  • 注入TraceWebAspect—->进行相应的切面拦截
  • 注入TraceFilter过滤器—->过滤servletRequest/servletResponse
    • 请求前,createSpan
    • 请求
    • 响应前,detachOrCloseSpans
      • tracer().close(span)
      • this.spanReporter.report(span)—->这里就是回调了ZipkinSpanListener.report将Span放入ByteBoundedQueue队列

测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值