1.微服务模块中导入Zipkin依赖
导入的时候质注意一下SpringCloud的版本
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
2.配置文件
#zipkin服务器地址
spring.zipkin.base-url=http://192.168.0.188:9411/
#关闭服务发现,否则Spring cloud会把zipkin的URL当做服务名称
spring.zipkin.discovery-client-enabled=false
#设置http的方式传输数据
spring.zipkin.sender.type=web
#设置抽样采集率为100%,默认为0.1也就是10%
spring.sleuth.sampler.probability=1
3.启动微服务
4.搭建Zipkin服务器
这里使用Linux在docker中搭建
docker run -d -p 9411:9411 openzipkin/zipkin
这个版本是没有做数据持久化的
Zipkin支持的这几种存储方式中,内存显然是不适用于生产的,这一点开始也说了。
而使用MysQL的话,当数据量大时,查询较为缓慢,也不建议使用。
Twtter官方使用的是Cassandra作为Zipkin的存储数据库,但国内大规模用Cassandra的公司较少,而且Cassandra相关文档也不多。
综上,故采用Elasticsearch是个比较好的选择
如果需要数据持久化那就要使用另外的Zipkin镜像,持久啊的数据存储在Elasticsearch中,便于检索大量数据
通过docker的方式
docker run --env STORAGE TYPE-elasticsearch -env ES_HOSTS-192.168.56.10:9200 openzipkin/zipkin-dependencies
5.访问微服务,产生服务间调用
6.链路响应时长
7.链路调用依赖关系