zipkin

转:https://blog.csdn.net/liaokailin/article/details/52077620java

zipkin为分布式链路调用监控系统,聚合各业务系统调用延迟数据,达到链路调用监控跟踪。mysql

 

在复杂的调用链路中假设存在一条调用链路响应缓慢,如何定位其中延迟高的服务呢?git

  • 日志: 经过分析调用链路上的每一个服务日志获得结果
  • zipkin:使用zipkinweb UI能够一眼看出延迟高的服务

 

zipkin主要涉及四个组件 collector storage search web UIgithub

  • Collector接收各service传输的数据
  • Cassandra做为Storage的一种,也能够是mysql等,默认存储在内存中,配置cassandra能够参考这里
  • Query负责查询Storage中存储的数据,提供简单的JSON API获取数据,主要提供给web UI使用
  • Web 提供简单的web界面

install

执行以下命令下载jar包web

wget -O zipkin.jar 'https://search.maven.org/remote_content?g=io.zipkin.java&a=zipkin-server&v=LATEST&c=exec'

其为一个spring boot 工程,直接运行jarspring



访问 http://ip:9411nohup java -jar zipkin.jar &

使用zipkin涉及几个概念sql

Span:基本工做单元,一次链路调用(能够是RPC,DB等没有特定的限制)建立一个span,经过一个64位ID标识它,
span经过还有其余的数据,例如描述信息,时间戳,key-value对的(Annotation)tag信息,parent-id等,其中parent-id
能够表示span调用链路来源,通俗的理解span就是一次请求信息shell

Trace:相似于树结构的Span集合,表示一条调用链路,存在惟一标识maven

Annotation: 注解,用来记录请求特定事件相关信息(例如时间),一般包含四个注解信息分布式

cs - Client Start,表示客户端发起请求

sr - Server Receive,表示服务端收到请求

ss - Server Send,表示服务端完成处理,并将结果发送给客户端

cr - Client Received,表示客户端获取到服务端返回信息

BinaryAnnotation:提供一些额外信息,通常已key-value对出现

相关文章
相关标签/搜索