分布式服务添加链路追踪主要是为了查看整个请求的调用链路,查看各个服务的调用时长。
dubbo集成zipkin有现成的依赖包,zipkin提供给java使用依赖包brave里面就包含了集成dubbo相关代码,dubbo官网也有相关的博客,这里记录一下搭建过程。
注意事项
如果发现下载的jar包执行不了,那下载的肯定不是exec可执行文件,启动程序一定是可执行文件才能启动,测试方便直接使用官网的脚本进行下载,不用通过链接去下载。
官网博客地址
在 Dubbo 中使用 Zipkin,基本上照着这个执行一遍就可以了。
自己集成过程中的修改点
第一点
zipkin的快速启动文档https://github.com/openzipkin/zipkin/tree/master/zipkin-server#quick-start
默认的zipkin启动的时候是放在内存里面的
启动命令是
java -jar zipkin.jar
我们系统里面刚好有es,所以修改一下zipkin的存储类型,放在es里面,所以修改一下启动命令。
zipkin还支持其他几种存储方式,https://github.com/openzipkin/zipkin,但是没测试,只测试保存在es里面。
关于zipkin的其他几种方式的存贮文档可以看这里https://github.com/openzipkin/zipkin/tree/master/zipkin-server
STORAGE_TYPE=elasticsearch ES_HOSTS=http://xxxxx:9200 java -jar zipkin.jar
第二点
按照官网的例子跑起来之后,发现服务的依赖关系图找不到,后面发现需要使用zipkin-dependencies.jar来执行,从而生成依赖关系图。
STORAGE_TYPE=elasticsearch ES_HOSTS=http://xxxxxxx:9200 ZIPKIN_LOG_LEVEL=DEBUG java -jar zipkin-dependencies.jar
zipkin-dependencies的配置和文档链接
https://github.com/openzipkin/zipkin-dependencies