使用sleuth+zipkin
一、为项目整合sleuth
1. 引入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
2. 添加配置
二、搭建Zipkin
1. 什么是Zipkin
zipkin是Twitter开源的分布式跟踪系统,主要用来收集系统的时序数据,从而追踪系统的调用问题。
2. 下载Zipkin
方式1:使用官网shell下载
curl -sSL https://zipkin.io/quickstart.sh | bash -s
下载下来的文件名为zipkin.jar
方式2:到Maven中央仓库下载
https://search.maven.org/remote_content?g=io.zipkin.java&a=zipkin-server&v=LATEST&c=exec
下载下来的文件名为zipkin-server-x.x.x-exec.jar
3. 启动Zipkin
使用如下命令,即可启动Zipkin Server
java -jar zipkin-xxx.jar
访问http://localhost:9411
即可看到Zipkin Server的首页
三、整合Zipkin
1. 引入依赖
<!-- 引入zipkin依赖后,可以不用引入sleuth,因为zipkin会自动引入 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
2. 添加配置
spring:
zipkin:
# 使用zipkin服务的地址
base-url: http://localhost:9411
sleuth:
sampler:
# 抽样率,默认是0.1 (10%)
probability: 1.0
四、测试Zipkin
- 为user-center、content-center都整合好zipkin
- 调用content-center的服务(同时会调用user-center的服务)
- 查看zipkin控制台,如下图所示:
五、Zipkin持久化
1. 持久化的方式
- MySQL (不建议)
- Elasticsearch
- Cassandra
相关文档:https://github.com/openzipkin/zipkin#storage-component
2. 搭建Elasticsearch
下载:https://www.elastic.co/cn/downloads/past-releases#elasticsearch