分佈式服務添加鏈路追蹤主要是爲了查看整個請求的調用鏈路,查看各個服務的調用時長。
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