zipkin 学习笔记

原创 2017年10月16日 23:44:57

zipkin 学习笔记

概述

Span—->追踪的基本单元

  • trace_id—->一个完整的rpc调用链拥有同一个trace_id
  • /name/id/—->一次rpc调用就产生一个span_id
  • parent_id/—->rpc的父级
  • Annotation/BinaryAnnotation/—->记录rpc服务本身以及业务的信息
  • timestamp/duration—->一次rpc耗用时间

Brave—->zipkin的传输基础

  • 拥有ServerTracer/ClientTracer/ServerRequestInterceptor/ServerResponseInterceptor/ClientRequestInterceptor/ClientResponseInterceptor等
  • ServerTracer—->用于服务端接收请求(setServerReceived)/确认请求(setServerSend)—->sr/ss
  • ClientTracer—->用于客户端发送请求(setClientSent)/接收响应(setClientReceived)—->cs/cr
  • ServerRequestInterceptor/ServerResponseInterceptor—->用于服务端,拦截请求/响应,记录请求信息等
  • ClientRequestInterceptor/ClientResponseInterceptor—->用于客户端,拦截请求/响应,记录信息等

SpanCollector—->span收集器,用于异步将拦截到的追踪信息,提交给zipkin服务器

  • HttpSpanCollector—->AbstractSpanCollector—->FlushingSpanCollector—->SpanCollector
    • SpanCollector—->提供收集span功能
    • FlushingSpanCollector—->提供异步刷新与队列存储支持
      • com.github.kristofa.brave.FlushingSpanCollector.Flusher#run
      • flush
    • AbstractSpanCollector—->提供编解码支持,将span按照编解码转换为字节码
      • reportSpans
    • HttpSpanCollector—->以POST方法application/json形式提交转换的span字节码信息
      • sendSpans

BraveServletFilter—->服务端过滤器,过滤请求与响应,发送sr (server received) and ss (server sent)

  • 委托给ServerRequestInterceptor.handle进行请求的处理,构建新的TraceData信息
  • 委托给ServerResponseInterceptor#handle进行响应的处理,再进行ServerTracer#setServerSend时候,添加span到spanCollector

BraveOkHttpRequestResponseInterceptor—->客户端拦截器,拦截请求/响应,cs/cr

  • 委托给ClientRequestInterceptor.handle进行请求的拦截,向request中添加Sampled/TraceId/SpanId/ParentSpanId信息头
  • 委托给ClientResponseInterceptor#handle进行响应的拦截,再进行clientTracer.setClientReceived时候,添加span到spanCollector

测试

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/undergrowth/article/details/78255897

zipkin集成到node,C#

1、node与zipkin集成结论:暂时只考虑已有产品线的node与zipkin的集成。如果后续有新的node服务,推荐使用zipkin-js官方使用的rest + zipkin-instrument...
  • lindan1984
  • lindan1984
  • 2018-02-21 09:12:41
  • 96

dubbo+zipkin的服务跟踪

http://www.cnblogs.com/ASPNET2008/p/6709900.html
  • join_null
  • join_null
  • 2017-10-09 17:07:32
  • 304

使用Log4Net将系统日志信息记录到记事本和数据库中

一、使用Log4Net将日志记录到记事本中步骤         1,将log4net.dll文件添加到项目引用中         2,写日志记录器类如下: /// /// 日志记录器 ...
  • hxpjava1
  • hxpjava1
  • 2014-06-20 16:51:07
  • 2628

zipkin

zipkinzipkin为分布式链路调用监控系统,聚合各业务系统调用延迟数据,达到链路调用监控跟踪。architecture 如图,在复杂的调用链路中假设存在一条调用链路响应缓慢,如何定位其中延迟高...
  • liaokailin
  • liaokailin
  • 2016-07-31 11:18:51
  • 36599

使用zipkin做分布式链路监控

介绍 Zipkin 为一个分布式的调用链跟踪系统( distributed tracing system ) ,设计来源于 google dapper paper 官方网站 http://zipkin...
  • u013815546
  • u013815546
  • 2017-06-12 02:51:19
  • 11115

Zipkin

首先建立一个zipkin server可以用springboot或者jar包都行。 springboot: org.springframework.boot spr...
  • han_dada
  • han_dada
  • 2017-07-13 15:41:26
  • 128

分布式系统监控系统zipkin入门

分布式系统监控系统zipkin入门
  • john1337
  • john1337
  • 2017-05-03 17:31:42
  • 8122

分布式跟踪系统(一):Zipkin的背景和设计

分布式跟踪系统(一):Zipkin的背景和设计        2010年谷歌发表了其内部使用的分布式跟踪系统Dapper的论文(http://static.googleu...
  • konglongaa
  • konglongaa
  • 2017-02-19 20:39:03
  • 1192

部署Zipkin分布式性能追踪日志系统的操作记录

Zipkin是Twitter的一个开源项目,是一个致力于收集Twitter所有服务的监控数据的分布式跟踪系统,它提供了收集数据,和查询数据两大接口服务。 部署Zipkin环境的操作记录: 部署...
  • konglongaa
  • konglongaa
  • 2017-02-27 11:01:29
  • 7152

Zipkin分布式任务追踪

Zipkin分布式任务追踪zipkin简介Zipkin 是一款开源的分布式实时数据追踪系统,由基于 Google Dapper 的论文设计而来,由 Twitter 公司提供开源实现,主要功能是聚集来自...
  • weiker12
  • weiker12
  • 2016-11-13 23:11:45
  • 4611
收藏助手
不良信息举报
您举报文章:zipkin 学习笔记
举报原因:
原因补充:

(最多只允许输入30个字)