dubbo服務整合zipkin詳解
去年一直有想法將openTracing整合進自己的dubbo服務的想法。但是zipkin brave 對 dubbo的支持,沒有更新到最新版本,所以一直沒有行動。
目前zipkin支持的語言,以及框架如下圖:具體可以參考官方網(wǎng)址


其中brave library 是一個java項目,提供了對主流web服務會用到的組件的支持,如dubbo,httpclient,mysql等。
另,SpringCloudSleuth,也是在zipkin brave 基礎上的發(fā)展起來的一個分布式追蹤系統(tǒng),所以又多了一個整合zipkin的理由;
我在我自己的springWebMVC + Dubbo + Mysql + RocketMQ 的服務中,直接引入了spring-cloud-starter-zipkin

可以看到引入spring-cloud-starter-zipkin會自動引入instrumentation的一些jar包,自動會對通過springWebMVC,httpClient進行的http通信進行鏈路跟蹤;但是我需要添加對dubbo協(xié)議的支持,那么就需要額外引入brave-instrumentation-dubbo(針對dubbo有兩個jar包可以使用,分別對應不同版本的dubbo,instrumentation-dubbo對應dubbo2.7.0以上,instrumentation-dubbo-rpc對應dubbo2.6.0以上2.7.0以下);引入jar包后,需要進行一些配置,如下zipkin的相關配置
#通過http協(xié)議上報tracing信息,這里的地址是zipkin服務的地址 #spring.zipkin.base-url=http://localhost:9411 #服務名稱 spring.zipkin.service.name=my-consumer #開啟上報到zipkin服務,如果不開啟的話,tracing信息還是會在不同服務中傳遞,只是不會上報的zipkin服務端 spring.zipkin.enabled=false #使用默認 http 方式收集 span 需要配置此項 spring.zipkin.sender.type=web #采樣率,默認是0.1, 如果是1的話,代表百分之百采樣 spring.sleuth.sampler.probability=1
關于dubbo的配置,只需要如下
#add tracing filter dubbo.consumer.filter = tracing #add tracing filter dubbo.provider.filter = tracing
這樣就可以在日志中加上traceId的輸出,來更好的進行鏈路分析,%X{traceId}的寫法,顯然原理是放在MDC中;這樣就只需要通過一個traceId就能分析代碼全鏈路里都做了哪些事情,當然前提是你有記日志;

如果你只是需要一個traceId來方便追蹤日志,那么這里就已經(jīng)可以了;如果還需要zipkin的鏈路分析功能,那么就需要搭建一個zipkin服務;可以直接在zipkin官網(wǎng)上找到docker啟動zipkin的quickstart。
然后在系統(tǒng)中進行相應配置即可訪問http://localhost:9411查看;



以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
IntelliJ IDEA將導入的項目轉(zhuǎn)成maven項目
這篇文章主要介紹了IntelliJ IDEA將導入的項目轉(zhuǎn)成maven項目,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09
微信小程序 navigator 跳轉(zhuǎn)url傳遞參數(shù)
這篇文章主要介紹了 微信小程序 navigator 跳轉(zhuǎn)url傳遞參數(shù)的相關資料,需要的朋友可以參考下2017-03-03
java開發(fā)Dubbo注解Adaptive實現(xiàn)原理
這篇文章主要為大家介紹了java開發(fā)Dubbo注解Adaptive實現(xiàn)原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09
Java面試重點中的重點之Elasticsearch核心原理
ElasticSearch是一個基于Lucene的搜索引擎,是用Java語言開發(fā)的,能夠達到實時搜索,穩(wěn)定,可靠,快速,安裝使用方便,作為Apache許可條款下的開放源碼發(fā)布,是一種流行的企業(yè)級搜索引擎,是最受歡迎的企業(yè)搜索引擎2022-01-01
Java使用POI從Excel讀取數(shù)據(jù)并存入數(shù)據(jù)庫(解決讀取到空行問題)
有時候需要在java中讀取excel文件的內(nèi)容,專業(yè)的方式是使用java POI對excel進行讀取,這篇文章主要給大家介紹了關于Java使用POI從Excel讀取數(shù)據(jù)并存入數(shù)據(jù)庫,文中介紹的辦法可以解決讀取到空行問題,需要的朋友可以參考下2023-12-12

