zipkin+sleuth
微服务链路追踪:跟踪一个用户请求的过程,捕获这些追踪数据,就能构建微服务的整个调用链的视图。
特点 | 说明 |
---|---|
提供链路追踪 | 通过sleuth可以很清楚的看出一个请求经过了哪些服务, 可以方便的理清服务局的调用关系 |
性能分析 | 通过sleuth可以很方便的看出每个采集请求的耗时, 分析出哪些服务调用比较耗时,当服务调用的耗时 随着请求量的增大而增大时,也可以对服务的扩容提 供一定的提醒作用 |
数据分析 优化链路 | 对于频繁地调用一个服务,或者并行地调用等, 可以针对业务做一些优化措施 |
可视化 | 对于程序未捕获的异常,可以在zipkpin界面上看到 |
专业术语
Span
基本工作单位,一次单独的调用链就可以成为一个span。
Trace
一系列span组成的树状结构,一个Trace认为是一次完成的链路,内部包含多个span。是一对多的关系,span与span之间存在父子关系。
Annotation
记录了一个事件的存在,一些核心annotation用来定义一个请求的开始和结束。
zipkin安装
1、拉镜像
docker pull openzipkin/zipkin
2、运行镜像
docker run -d --restart always -p 9411:9411 --name zipkin openzipkin/zipkin
3、访问
在浏览器访问:http://ip:9411/zipkin/
使用
1.导入依赖
<!-- zipkin+sleuth 链路追踪 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
2.修改配置文件
spring:
application:
name: boduo-test
zipkin:
base-url: http://172.19.101.243:9411/ #zipkin服务地址
sender:
type: web #数据传输方式 web表示通过http向服务器发送数据
sleuth:
sampler:
probability: 1.1 #收集数据百分比 默认0.1 百分之10