成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

個推基于Zipkin的分布式鏈路追蹤實踐-創(chuàng)新互聯(lián)

個推基于 Zipkin 的分布式鏈路追蹤實踐
作者:個推應用平臺基礎架構高級研發(fā)工程師 阿飛

創(chuàng)新互聯(lián)建站致力于互聯(lián)網(wǎng)網(wǎng)站建設與網(wǎng)站營銷,提供網(wǎng)站建設、成都網(wǎng)站制作、網(wǎng)站開發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營銷、微信小程序開發(fā)、公眾號商城、等建站開發(fā),創(chuàng)新互聯(lián)建站網(wǎng)站建設策劃專家,為不同類型的客戶提供良好的互聯(lián)網(wǎng)應用定制解決方案,幫助客戶在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢。

01業(yè)務背景

隨著微服務架構的流行,系統(tǒng)變得越來越復雜,單體的系統(tǒng)被拆成很多個模塊,各個模塊通過輕量級的通信協(xié)議進行通訊,相互協(xié)作,共同實現(xiàn)系統(tǒng)功能。

單體架構時,一個請求的調(diào)用鏈路很清晰,一般由負載均衡器將用戶請求轉(zhuǎn)發(fā)到后端服務,由后端服務進行業(yè)務處理,需要的數(shù)據(jù)從外部的存儲中獲取,處理完請求后,再經(jīng)由負載均衡器返回給用戶。

而在微服務架構中,一個請求往往需要多個模塊共同協(xié)作處理,不同模塊可能還依賴于不同的外部存儲,各個模塊的實現(xiàn)技術還不盡相同,一個請求是如何在整個系統(tǒng)不同模塊間進行流轉(zhuǎn),整個調(diào)用鏈上的各個模塊之間的調(diào)用關系如何,每個微服務處理的時間長短,處理的結果是否正確,很難去進行追蹤,而這些信息對于整個系統(tǒng)運維、性能分析、故障追蹤都特別有幫助,也正因為此,才有了各種分布式鏈路追蹤的技術。

02分布式鏈路追蹤現(xiàn)狀

分布式鏈路追蹤的技術有很多,有開源的也有閉源的。開源的有Jaeger、PinPoint、Zipkin、SkyWalking、CAT等,閉源的有Google Dapper、淘寶的鷹眼Tracing、新浪的Watchman、美團的MTrace等。CNCF(Cloud Native Computing Foundation)為了解決業(yè)界分布式追蹤系統(tǒng)跨平臺兼容性問題,設計了trace的標準,提出了分布式跟蹤系統(tǒng)產(chǎn)品的統(tǒng)一范式-OpenTracing,Zipkin也部分支持OpenTracing標準。

03選擇Zipkin的原因

在實踐的過程中,基于以下原因選擇了Zipkin來進行鏈路追蹤:
? 開源,社區(qū)活躍
? 支持多種語言,Nodejs,Lua,Java都有開源實現(xiàn),而我們的服務主要是這三種語言實現(xiàn)的
? 提供查詢API,方便二次開發(fā)

04Zipkin的架構介紹

Zipkin的整體架構如下圖所示:

個推基于 Zipkin 的分布式鏈路追蹤實踐
Zipkin的整體架構
(引用自Zipkin官網(wǎng):https://zipkin.io/pages/architecture.html)

其中:
? Instrumented client和Instrumented server需要集成在分布式系統(tǒng)的具體服務中,采集跟蹤信息,調(diào)用Transport,把跟蹤信息發(fā)送給Zipkin的Server。
? Transport是Zipkin對外提供的接口,支持HTTP、Kafka、Scribe等通信方式。
? Zipkin即Zipkin server,主要包括四個模塊:
Collector: 用于接收各個應用服務傳輸?shù)淖粉櫺畔ⅲ?br/>Storage:Zipkin的后端存儲,支持In-Memory、MySql、Elasticsearch和Cassandra;
API:提供對外的查詢接口;
UI:提供對外的Web界面。
個推基于 Zipkin 的分布式鏈路追蹤實踐
Http Tracing的時序圖
(引用自Zipkin官網(wǎng):https://zipkin.io/pages/architecture.html)

以上是Http Tracing的時序圖,用戶的請求/foo首先被Trace Instrumentationlan攔截,記錄下Tags,時間戳,同時在Header里增加Trace信息,然后再流轉(zhuǎn)到后端服務進行處理,處理完成后,正常響應,Trace Instrumentationlan攔截響應,記錄處理延時后,將Response正常返回給調(diào)用方,同時異步地將Trace的Span發(fā)送給Zipkin Server。Span中的traceId是在整個調(diào)用鏈路上唯一的ID,用于唯一標識一條調(diào)用鏈。

05個推的Zipkin實踐

個推的微服務是基于Kubernetes和Docker進行部署的,每個微服務對應于Kubernetes中的一組Pod。

在整個微服務體系中,API網(wǎng)關是基于Openresty開發(fā)的,主要使用Lua進行開發(fā);后端服務主要使用Node.js和Java進行開發(fā)實現(xiàn)。在對接Zipkin時,不同的微服務采用不同的方式進行實現(xiàn)。

API網(wǎng)關主要通過增加網(wǎng)關插件(主要參考了Kong的Zipkin插件實現(xiàn))來實現(xiàn)與Zipkin的對接;Node.js實現(xiàn)的服務主要使用了中間件實現(xiàn)與Zipkin的對接;Java服務使用了spring-cloud-sleuth來與Zipkin對接。 整體的架構如下圖所示:
個推基于 Zipkin 的分布式鏈路追蹤實踐
個推基于Zipkin的分布式鏈路追蹤系統(tǒng)的整體架構

其中,Zipkin也容器化部署在Kubernetes集群中,簡化了Zipkin的搭建和部署。如下圖所示,通過Zipkin可以很方便地追蹤請求的調(diào)用鏈路,整個調(diào)用鏈上各個服務的處理耗時,響應狀態(tài),服務間的調(diào)用關系都可以方便地在Zipkin中進行查詢。Zipkin對于分析整個系統(tǒng)的性能瓶頸,定位故障也都有很大的幫助。
個推基于 Zipkin 的分布式鏈路追蹤實踐
Zipkin的Web界面

06總結

Zipkin作為一個分布式鏈路追蹤系統(tǒng),有著應用侵入較小、社區(qū)活躍度較高、支持多種語言等優(yōu)勢,一般基于開源的實現(xiàn)稍做修改就可以實現(xiàn)與Zipkin的對接。因此個推在微服務架構中也引入了Zipkin,用Zipkin來追蹤微服務的調(diào)用關系,對微服務進行性能分析和故障診斷。未來,個推會基于Zipkin做二次開發(fā),提供更為友好的界面。

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

網(wǎng)站名稱:個推基于Zipkin的分布式鏈路追蹤實踐-創(chuàng)新互聯(lián)
URL標題:http://jinyejixie.com/article24/isice.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供域名注冊、品牌網(wǎng)站建設小程序開發(fā)、服務器托管、ChatGPT、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
沁阳市| 盱眙县| 文安县| 寿宁县| 葫芦岛市| 焉耆| 文山县| 德惠市| 长垣县| 久治县| 海盐县| 南乐县| 罗源县| 昭觉县| 扶绥县| 武功县| 年辖:市辖区| 怀远县| 资溪县| 焦作市| 仙居县| 大宁县| 青铜峡市| 图片| 右玉县| 三都| 光山县| 库伦旗| 荣成市| 门源| 濮阳市| 永清县| 平武县| 泾阳县| 东宁县| 蓝山县| 平安县| 怀仁县| 龙游县| 邵阳县| 永川市|