前几天搞定了 consul ,这几天打算搞定一下 zipkin ,zipkin 最近这两年频繁迭代,竟然搞出来好几个不同历史版本 代码各异,都不怎么兼容了,我尝试了 多个之前的版本其实都没怎么运行起来,后来一不做二不休 就一直寻觅,最绝望的时候是debug 仍然无法定位bug,或者没有权限操作,或者版本不兼容。
后来看了一篇,总算是和尚摸到了头,测试也成功了
参考这篇
https://www.jianshu.com/p/9bfe103418e2
不过呢 ,你要访问的其实是 8081 端口,
我在他实现的基础上又添加了consul ,我为了方便大家,把 zipkin-server 的jar包也放到项目里了,主要是好像下载要翻墙,挺不容易的,所以大家直接用我的,放在了 src/main/resources 目录中。
项目代码在这里
https://github.com/mullerhai/spboot-zipkin
git clone git@github.com:mullerhai/spboot-zipkin.git
简单说
首先创建springboot 的maven项目
其实 zipkin 主要关注的是接口的消费者 调用端,
所以你的调用端 一定要 引入相关的依赖
<!-- Sleuth automatically adds trace interceptors when in the classpath -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
<!-- Sends trace data to zipkin over http (defaults to http://localhost:9411/api/v2/spans) -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-sleuth-zipkin</artifactId>
</dependency>
或者
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
然后 在配置文件里 写上你的客户端打算被trace,不写下面的配置项,那么就不会被追踪
spring.sleuth.trace-id128=true
spring.sleuth.sampler.probability=1.0
然后 你要首先启动 独立的zipkin-server
java -jar zipkin-server.jar
由于,我这里面多了个 consul ,如果你不打算使用consul ,可以注释掉 consul 的配置文件和maven pom的依赖项,也可以在本地先启动consul 服务端
然后启动 接口 的提供者
比如这里面的 backend
之后启动 frontend ,然后接着去访问对应的路由就可以了,然后你在 浏览器
http://localhost:9411 就可以看到 trace的内容

这个其实比较简单了,暂时先这么用 没有问题,感觉 zipkin 初级使用不过就是一个跟踪接口调用罢了,当然 他的使用不会这么简单,不然就太弱智了,更详细的配置和进阶内容等着我去探索吧
下面就接着探索 hystrix 去了
网友评论