SpringCloud(18)之Sleuth +Zipkin鏈路追蹤

一、Zipkin介紹

? ? ? ? Zipkin是一個開放源代碼分布式的跟蹤系統,它可以幫助收集服務的時間數據,以解決微服務架構中的延遲問?題,包括數據的收集、存儲、查找和展現。每個服務向zipkin報告計時數據,zipkin會根據調用關系通???Zipkin?UI生成依賴關系圖,展示多少跟蹤請求經過了哪些服務,該系統讓開發者可通過一個web前端?輕松地收集和分析數據,可非常方便的監測系統中存在的瓶頸。

????????

????????它可以幫助收集服務的時間數據,以解決微服務架構中的延遲問題,包括數據的收集、存儲、查找?和展現。

?????????每個服務向zipkin報告計時數據,zipkin會根據調用關系通過Zipkin?UI生成依賴關系圖,展示多少 ?跟蹤請求經過了哪些服務,該系統讓開發者可通過一個web前端輕松地收集和分析數據,可非常方便的監測系統中存在的瓶頸。

二、Spring Cloud Sleuth

????????為服務之間的調用提供鏈路追蹤,通過使用Sleuth可以讓我們快速定位某個服務的問題。分布式服務追?蹤系統包括:數據收集、數據存儲、數據展示。通過Sleuth產生的調用鏈監控信息,讓我們可以得知微?服務之間的調用鏈路,但是監控信息只輸出到控制臺不太方便查看。

????????SleuthZipkin結合,將信息發送到Zipkin,利用Zipkin的存儲來存儲信息,利Zipkin?UI來展示信?息。

? ? ? ? SpringCloud Sleuth有4個特點:

特點

說明

提供鏈

路追蹤

通過sleuth可以很清楚的看出一個請求經過了哪些服務, ?可以方便的理清服務局的調?用關系

性能分

通過sleuth可以很方便的看出每個采集請求的耗時, ?分析出哪些服務調用比較耗時,??當服務調用的耗時 隨著請求量的增大而增大時,也可以對服務的擴容提 供一定的提醒?作用

數據分

析優

化鏈路

對于頻繁地調用一個服務,或者并行地調用等, ?可以針對業務做一些優化措施

可視化

對于程序未捕獲的異常,可以在zipkpin界面上看到

三、Zipkin 安裝

????????關于zipkin在上面我們已經介紹了,我們接下來講解zipkin的安裝。

1)下載?

? 下載地址:Central Repository: io/zipkin/zipkin-server? ? ??

2)運行?

?????????運行?zipkin-server-2.12.9-exec.jar?,java?-jar?zipkin-server-2.12.9-exec.jar?回車即可運行,并訪問http://localhost:9411/zipkin/

http://localhost:9411/zipkin/?效果如下:

?

三、Sleuth鏈路追蹤

1)引入依賴?

? ? ? ? 引入ziplin,它自身已經依賴了sleuth,我們再hailtaxi-order依賴包中引入:

        <!--zipkin--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zipkin</artifactId><version>2.2.2.RELEASE</version></dependency>

?依賴關系如下圖:

?2)配置服務地址

????????修改?hailtaxi-order?的配置文件?applicatin.yml添加如下配置:

server:port: 18082
spring:application:name: hailtaxi-orderzipkin:#zipkin服務地址base-url: http://localhost:9411sleuth:sampler:probability: 1  #采樣值,0~1之間,1表示全部信息都手機,值越大,效率越低

?我們執行一次下單調用?http://localhost:18082/order?,再看zipkin控制臺:

?我們剛才調用的鏈路如下圖:

?????????分布式服務追蹤系統包括:數據收集、數據存儲、數據展示,通過Sleuth產生的調用鏈監控信息,讓我們可以得知微服務之間的調用鏈路,但是監控信息只輸出?到控制臺不太方便查看,SleuthZipkin結合,將信息發送到Zipkin,利用Zipkin的存儲來存儲信息,利用Zipkin?UI來展示?信息

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/716772.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/716772.shtml
英文地址,請注明出處:http://en.pswp.cn/news/716772.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LeetCode: 數組中的第K個最大元素

問題描述 在未排序的數組中找到第k個最大的元素。請注意&#xff0c;你需要找的是數組排序后的第k個最大的元素&#xff0c;而不是第k個不同的元素。 解題思路 解決這個問題有多種方法&#xff0c;下面是幾種常見的解題策略&#xff1a; 排序后選擇: 將數組排序&#xff0c…

ProChat 如何接入 WebSocket

WebSocket是一種在單個TCP連接上進行全雙工通信的協議&#xff0c;允許客戶端和服務器之間進行雙向實時通信。與Server-Sent Events (SSE)類似&#xff0c;WebSocket也能實現實時數據推送&#xff0c;但其功能更為強大且靈活。 全雙工通信&#xff1a;WebSocket不僅允許服務器向…

【TestNG】(4) 重試機制與監聽器的使用

在UI自動化測試用例執行過程中&#xff0c;經常會有很多不確定的因素導致用例執行失敗&#xff0c;比如網絡原因、環境問題等&#xff0c;所以我們有必要引入重試機制&#xff08;失敗重跑&#xff09;&#xff0c;來提高測試用例成功率。 在不寫代碼的情況沒有提供可配置方式…

Mysql 慢查詢日志

查詢是否開啟慢SQL日志 show variables like %slow_query_log; 開啟慢查詢日志 set global slow_query_logON; 可以通過修改MySQL的配置my.cfg或者my.ini永久生效 slow_query_logON # 開啟慢查詢日志開關 slow_query_log_file/var/lib/mysql/alvin-slow.log # 慢查詢日志…

1.2 在卷積神經網絡中,如何計算各層感受野的大小

1.2 在卷積神經網絡中&#xff0c;如何計算各層感受野的大小 分析與解答&#xff1a; 在卷積神經網絡中&#xff0c;由于卷積的局部連接性&#xff0c;輸出特征圖上的每個節點的取值&#xff0c;是由卷積核在輸入特征圖對應位置的局部區域內進行卷積而得到的&#xff0c;因此這…

COM - IWbemClassObject對象屬性的遍歷

文章目錄 COM - IWbemClassObject對象屬性的遍歷概述筆記場景封裝好的函數bool CWmiBase::enumObjVaule(IWbemClassObject* obj, std::wstring& val)bool CWmiBase::appendVarToString(BSTR& strName, VARIANT& var, std::wstring& val)bool CWmiBase::get_var…

【筆試強訓錯題選擇題】Day5.習題(錯題)解析

文章目錄 前言 錯題題目 錯題解析 總結 前言 錯題題目 1. ? ? 2. 3. ? 4. ? 5. ? 錯題解析 1. 移位運算符的使用 2. 3. 4. 5. 總結

如何用TCC實現分布式事務?

TCC事務介紹 TCC&#xff08;Try-Confirm-Cancel&#xff09;是除可靠消息隊列以外的另一種常見的分布式事務機制&#xff0c;它是由數據庫專家帕特 赫蘭德&#xff08;Pat Helland&#xff09;在2007年撰寫的論文《Life beyond Distributed Transactions: An Apostate’s Op…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的體育賽事目標檢測系統(Python+PySide6界面+訓練代碼)

摘要&#xff1a;開發和研究體育賽事目標檢測系統對于增強體育分析和觀賞體驗至關重要。本篇博客詳細講述了如何運用深度學習技術構建一個體育賽事目標檢測系統&#xff0c;并提供了完整的實現代碼。系統基于先進的YOLOv8算法&#xff0c;對比了YOLOv7、YOLOv6、YOLOv5的性能&a…

【webrtc】p2p_transport_channel 中忽略Hyper-V

【win11】更改網絡適配器設置 刪掉了hype-v,這時候wsl2 打不開了,但是重啟后,還是存在hyper-v那么,讓webrtc自己不適用hyper-v的網絡Hyper-V 的全程:Hyper-V Virtual Ethernet Adapter https://github.com/SophistSolutions/Stroika/blob/2cd5e8bf4ee01cb5c423367b4df628f…

MFC 模態對話框退出機制的探究

一位讀者問了這樣一個問題: ” 如果我創建了一個可見的模態對話框,卻對用戶來說不可用。舉個例子,假設我在程序中的其他位置收到一個事件,并且我從事件中調用模態 CDialog 上的 DestroyWindow。我注意到 OnDestroy 是在 CDialog 上調用的,但在將 WM_QUIT 消息發送到模態對…

在MyBatis中自定義JsonTypeHandler

在MyBatis中使用自定義的JsonTypeHandler 在處理數據庫中的JSON字段時&#xff0c;我們經常需要將JSON字符串映射到Java對象&#xff0c;或者將Java對象序列化為JSON字符串以存儲在數據庫中。MyBatis作為一個流行的Java持久層框架&#xff0c;允許我們通過自定義類型處理器&am…

爬蟲入門到精通_實戰篇7(Requests+正則表達式爬取貓眼電影)_ 抓取單頁內容,正則表達式分析,保存至文件,開啟循環及多線程

1 目標 貓眼榜單TOP100&#xff1a;https://www.maoyan.com/board 2 流程框架 抓取單頁內容&#xff1a;利用requests請求目標站點&#xff0c;得到單個網頁HTML代碼&#xff0c;返回結果。正則表達式分析&#xff1a;根據HTML代碼分析得到電影名稱,主演,上映時間,評分,圖片…

跨域問題與解決方法

跨域問題與解決方法 同源策略 瀏覽器很容易受到XSS、CSFR等攻擊。所謂同源是指"協議域名端口"三者相同&#xff0c;即便兩個不同的域名指向同一個ip地址&#xff0c;也非同源。 同源策略限制以下幾種行為&#xff1a; Cookie、LocalStorage 和 IndexDB 無法讀取 DO…

C語言中的分支和循環語句:從入門到精通

分支和循環語句 1. 前言2. 預備知識2.1 getchar函數2.2 putchar函數2.3 計算數組的元素個數2.4 清屏2.5 程序的暫停2.6 字符串的比較 3. 結構化3.1 順序結構3.2 分支結構3.3 循環結構 4. 真假性5. 分支語句&#xff08;選擇結構&#xff09;5.1 if語句5.1.1 語法形式5.1.2 else…

Java網絡通信UDP

目錄 網絡通信基礎 UDP通信 服務器 1.想要使用UDP通信 要先打開DatagramSocket文件 端口號可以手動指定或系統隨機分配 2.阻塞等待接收客戶端數據&#xff1b;創建DatagramPacket接收客戶端傳來的數據 3.處理客戶端傳來的數據&#xff0c;并進行業務處理&#xff08;這里…

MySQL 教程 2.4

MySQL UNION 操作符 本教程為大家介紹 MySQL UNION 操作符的語法和實例。 描述 MySQL UNION 操作符用于連接兩個以上的 SELECT 語句的結果組合到一個結果集合&#xff0c;并去除重復的行。 UNION 操作符必須由兩個或多個 SELECT 語句組成&#xff0c;每個 SELECT 語句的列數…

Python降維數據庫之umap使用詳解

概要 在數據科學和機器學習領域,數據通常是高維度的,而高維度數據不僅難以可視化,還會增加建模的復雜性。降維是一種處理高維數據的關鍵技術,而Python UMAP(Uniform Manifold Approximation and Projection)是一種強大的降維工具,它在保留數據結構的同時,將高維數據映…

uni-app引用外部js文件

全局引用 在App.vue文件中添加如下代碼 這樣在全局所有頁面中都可以直接使用該外部js中的函數 onLaunch: function() {var script document.createElement(script);script.src "https://www.test.com/api/testapi.js";document.body.appendChild(script); }, 單…

【IDEA+通義靈碼插件】實現屬于你的大模型編程助手

目錄 1.前言 2.下載安裝 3.解釋代碼 4.生成單元測試 5.生成注釋 6.智能補全 1.前言 大模型到底該以一種什么方式落地&#xff0c;從而嵌入我們的工作當中&#xff0c;助力我們工作效率的提升&#xff0c;其實最好的方式也許就是虛擬助手的方式&#xff0c;就像鋼鐵俠的&…