1、zipkin
興安ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書(shū)銷(xiāo)售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書(shū)合作)期待與您的合作!
zipkin是Twitter的一個(gè)開(kāi)源項(xiàng)目,它基于Google Dapper實(shí)現(xiàn)。我們可以使用它來(lái)收集各個(gè)服務(wù)器上請(qǐng)求鏈路的跟蹤數(shù)據(jù),并通過(guò)它提供的REST API接口來(lái)輔助我們查詢(xún)跟蹤數(shù)據(jù)以實(shí)現(xiàn)對(duì)分布式系統(tǒng)的監(jiān)控程序,從而及時(shí)地發(fā)現(xiàn)系統(tǒng)中出現(xiàn)的延遲升高問(wèn)題并找出系統(tǒng)性能瓶頸的根源。除了面向開(kāi)發(fā)的API接口之外,它也提供了方便的UI組件來(lái)幫助我們直觀的搜索跟蹤信息和分析請(qǐng)求鏈路明細(xì),比如:可以查詢(xún)某段時(shí)間內(nèi)各用戶(hù)請(qǐng)求的處理時(shí)間等。
zipkin的架構(gòu)圖如下:
由上面的架構(gòu)圖可以看出,zipkin有四個(gè)核心組件:
2、構(gòu)建zipkin-server
目前最新版的zipkin-server,是直接到官網(wǎng)獲取最新可執(zhí)行的jar,然后直接運(yùn)行該jar文件,例如:
curl -sSL https://zipkin.io/quickstart.sh | bash -s java -jar zipkin.jar
也可以用docker啟動(dòng),在此通過(guò)docker來(lái)啟動(dòng)zipkin-server服務(wù)。
由于在此存儲(chǔ)組件使用Elasticsearch,所以先通過(guò)docker將Elasticsearch啟動(dòng),執(zhí)行如下命令:
docker run -d -p 9200:9200 --name es elasticsearch:6.6.0
如果在啟動(dòng)elasticsearch的時(shí)候出現(xiàn)如下錯(cuò)誤:
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
可以先執(zhí)行如下命令解決:
sysctl -w vm.max_map_count=262144
接下來(lái),啟動(dòng)zipkin-server服務(wù),執(zhí)行如下命令:
docker run -d -e STORAGE_TYPE=elasticsearch -e ES_HOSTS=192.168.208.134:9200 -p 9411:9411 --name zipkin openzipkin/zipkin:2.12.1
通過(guò)瀏覽器打開(kāi)http://192.168.208.134:9411頁(yè)面,如果出現(xiàn)如下界面,則表示zipkin-server服務(wù)啟動(dòng)成功了:
3、微服務(wù)集成zipkin
在原來(lái)微服務(wù)的pom文件中,添加如下的依賴(lài):
org.springframework.cloud spring-cloud-starter-sleuth org.springframework.cloud spring-cloud-starter-zipkin
然后在application.yml文件需要新增如下配置:
spring: zipkin: base-url: http://192.168.208.134:9411 sleuth: sampler: percentage: 1
其中spring.sleuth.sampler.percentage表示收集跟蹤信息的比例,1表示全部收集,它的值的范圍是0-1之間的。
4、部署zipkin-dependencies
由于新版本當(dāng)中,如果需要查看各個(gè)微服務(wù)之間的依賴(lài)關(guān)系,則必需要部署zipkin-dependencies,此處還是通過(guò)docker來(lái)部署,由于zipkin-dependencies運(yùn)行一次就會(huì)結(jié)束,所以可以讓其每小時(shí)運(yùn)行一次,即:
docker run -e STORAGE_TYPE=elasticsearch -e ES_HOSTS=192.168.208.134:9200 openzipkin/zipkin-dependencies:2.0.4 sh -c 'crond -f'
5、參考資料
zipkin.io/
https://github.com/openzipkin/docker-zipkin
https://github.com/openzipkin/docker-zipkin-dependencies
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。