中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringCloud整合分布式服務跟蹤zipkin的實現

發布時間:2020-09-29 16:02:19 來源:腳本之家 閱讀:179 作者:架構與我 欄目:編程語言

1、zipkin

zipkin是Twitter的一個開源項目,它基于Google Dapper實現。我們可以使用它來收集各個服務器上請求鏈路的跟蹤數據,并通過它提供的REST API接口來輔助我們查詢跟蹤數據以實現對分布式系統的監控程序,從而及時地發現系統中出現的延遲升高問題并找出系統性能瓶頸的根源。除了面向開發的API接口之外,它也提供了方便的UI組件來幫助我們直觀的搜索跟蹤信息和分析請求鏈路明細,比如:可以查詢某段時間內各用戶請求的處理時間等。

zipkin的架構圖如下:

SpringCloud整合分布式服務跟蹤zipkin的實現

由上面的架構圖可以看出,zipkin有四個核心組件:

  • Collector:收集器組件,它主要用于處理從外部系統發送過來的跟蹤信息,將這些信息轉換為zipkin內部處理的Span格式,以支持后續的存儲、分析、展示等功能。
  • Storage:存儲組件,它主要對處理收集器接收到的跟蹤信息,默認會將這些信息存儲在內存中,我們也可以修改此存儲策略,通過使用其他存儲組件將跟蹤信息存儲到數據庫中,目前支持的數據庫有Mysql、Cassandra和Elasticsearch。
  • API:API組件,提供給UI組件,展示跟蹤信息。
  • UI:UI組件,基于API組件實現的上層應用。通過UI組件用戶可以方便而有直觀地查詢和分析跟蹤信息。

2、構建zipkin-server

目前最新版的zipkin-server,是直接到官網獲取最新可執行的jar,然后直接運行該jar文件,例如:

curl -sSL https://zipkin.io/quickstart.sh | bash -s
java -jar zipkin.jar

也可以用docker啟動,在此通過docker來啟動zipkin-server服務。

由于在此存儲組件使用Elasticsearch,所以先通過docker將Elasticsearch啟動,執行如下命令:

docker run -d -p 9200:9200 --name es elasticsearch:6.6.0

如果在啟動elasticsearch的時候出現如下錯誤:

[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

可以先執行如下命令解決:

sysctl -w vm.max_map_count=262144

接下來,啟動zipkin-server服務,執行如下命令:

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

通過瀏覽器打開http://192.168.208.134:9411頁面,如果出現如下界面,則表示zipkin-server服務啟動成功了:

SpringCloud整合分布式服務跟蹤zipkin的實現 

3、微服務集成zipkin

在原來微服務的pom文件中,添加如下的依賴:

<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>

然后在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

由于新版本當中,如果需要查看各個微服務之間的依賴關系,則必需要部署zipkin-dependencies,此處還是通過docker來部署,由于zipkin-dependencies運行一次就會結束,所以可以讓其每小時運行一次,即:

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

赤城县| 城市| 新乐市| 滦南县| 安庆市| 甘南县| 沭阳县| 沧源| 淮阳县| 朝阳市| 六盘水市| 平潭县| 集安市| 武定县| 双辽市| 南充市| 鄂伦春自治旗| 迁安市| 武清区| 常德市| 邯郸县| 福鼎市| 商水县| 资溪县| 汝南县| 敖汉旗| 法库县| 白银市| 甘德县| 临沧市| 江都市| 阿拉善右旗| 万荣县| 江孜县| 莱西市| 吴旗县| 开化县| 哈密市| 金门县| 西乡县| 紫云|