Spring Cloud Zipkin服務(wù)端追蹤服務(wù)
Zipkin 簡(jiǎn)介
ZipKin 是一個(gè)開(kāi)放源代碼的分布式跟蹤系統(tǒng),用于收集服務(wù)的定時(shí)數(shù)據(jù),以解決微服務(wù)架構(gòu)中的延遲問(wèn)題。包括數(shù)據(jù)的收集、存儲(chǔ)、查找和展現(xiàn)。
每個(gè)服務(wù)向 Zipkin 報(bào)告計(jì)時(shí)數(shù)據(jù),Zipkin 會(huì)根據(jù)調(diào)用關(guān)系通過(guò) Zipkin UI 生成依賴關(guān)系圖,顯示了多少跟蹤請(qǐng)求通過(guò)每個(gè)服務(wù)。該組件可以讓我們通過(guò)一個(gè) Web 前端輕松的收集和分析數(shù)據(jù)。例如用戶每次請(qǐng)求服務(wù)的處理時(shí)間等,可方便的監(jiān)測(cè)系統(tǒng)中存在的瓶頸。
服務(wù)追蹤說(shuō)明
微服務(wù)架構(gòu)是通過(guò)業(yè)務(wù)來(lái)劃分服務(wù)的,使用 REST 調(diào)用。對(duì)外暴露的一個(gè)接口,可能需要很多個(gè)服務(wù)協(xié)同才能完成這個(gè)接口功能。
如果鏈路上任何一個(gè)服務(wù)出現(xiàn)問(wèn)題或者網(wǎng)絡(luò)超時(shí),都會(huì)形成導(dǎo)致接口調(diào)用失敗。
隨著業(yè)務(wù)的不斷擴(kuò)張,服務(wù)之間互相調(diào)用會(huì)越來(lái)越復(fù)雜。隨著服務(wù)的越來(lái)越多,對(duì)調(diào)用鏈的分析會(huì)越來(lái)越復(fù)雜,如下圖:
Zipkin 服務(wù)端引入依賴
在 pom.xml 主要添加 zipkin 、 zipkin-server 和 zipkin-autoconfigure-ui 依賴
<dependency> <groupId>io.zipkin.java</groupId> <artifactId>zipkin</artifactId></dependency><dependency> <groupId>io.zipkin.java</groupId> <artifactId>zipkin-server</artifactId></dependency><dependency> <groupId>io.zipkin.java</groupId> <artifactId>zipkin-autoconfigure-ui</artifactId></dependency>
注意: 這里的 zipkin 版本號(hào)為 2.10.1,需要將版本號(hào)托管到統(tǒng)一依賴管理項(xiàng)目中
相關(guān)配置
在 application.yml 主要添加 zipkin 的相關(guān)配置
management: metrics: web: server: auto-time-requests: false
在 Application 啟動(dòng)類中通過(guò) @EnableZipkinServer 注解開(kāi)啟 Zipkin Server 功能
@SpringBootApplication@EnableEurekaClient@EnableZipkinServerpublic class ZipkinApplication { public static void main(String[] args) { SpringApplication.run(ZipkinApplication.class, args); }}
Spring Cloud Zipkin 客戶端
在所需要被追蹤的項(xiàng)目中添加以下配置
引入依賴
在 pom.xml 中添加 spring-cloud-starter-zipkin 依賴
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifactId></dependency>
相關(guān)配置
在 application.yml 中添加 zipkin 地址即可
spring: zipkin: base-url: http://localhost:9411
測(cè)試服務(wù)追蹤
啟動(dòng)全部項(xiàng)目,打開(kāi)瀏覽器訪問(wèn):http://localhost:9411 ,出現(xiàn)以下界面
點(diǎn)擊 Find a trace,可以看到具體服務(wù)相互調(diào)用的數(shù)據(jù)
點(diǎn)擊 Dependencies,可以發(fā)現(xiàn)服務(wù)的依賴關(guān)系
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 讓chatgpt將html中的圖片轉(zhuǎn)為base64方法示例2. PHP設(shè)計(jì)模式中觀察者模式講解3. asp(vbs)Rs.Open和Conn.Execute的詳解和區(qū)別及&H0001的說(shuō)明4. ASP基礎(chǔ)知識(shí)Command對(duì)象講解5. asp畫中畫廣告插入在每篇文章中的實(shí)現(xiàn)方法6. JSP中param動(dòng)作的實(shí)例詳解7. ASP新手必備的基礎(chǔ)知識(shí)8. JSP的setProperty的使用方法9. chat.asp聊天程序的編寫方法10. PHP實(shí)現(xiàn)圖片旋轉(zhuǎn)的方法詳解
