Spring Cloud 系列之OpenFeign:(7)鏈路追蹤zipkin

傳送門

Spring Cloud Alibaba系列之nacos:(1)安裝

Spring Cloud Alibaba系列之nacos:(2)單機模式支持mysql

Spring Cloud Alibaba系列之nacos:(3)服務注冊發現

Spring Cloud 系列之OpenFeign:(4)集成OpenFeign

Spring Cloud 系列之OpenFeign:(5)OpenFeign的高級用法

Spring Cloud 系列之OpenFeign:(6)OpenFeign的鏈路追蹤

關于鏈路追蹤

?在前面一節Spring Cloud 系列之OpenFeign:(6)OpenFeign的鏈路追蹤中,通過MDC實現了一個簡易的鏈路追蹤服務:

?

里面對于鏈接追蹤沒有過多的討論,所以這里還是要先對它是什么,有什么作用,常用實現方式再做一次探討!

為什么需要鏈路追蹤

鏈路追蹤這個名詞也是17年初的時候才接觸,當時入職一家做互聯網金融的公司(以前都是在傳統軟件公司做企業級金融系統開發)。公司據說不久前融資了一筆錢,招兵買馬準備大干一場。那時候公司在推行微服務,框架就是Spring Cloud套件,也就接觸了zipkin這個概念,當時很經過一番名詞轟炸,還是帶來了不小的震撼:微服務,Springboot,注冊中心Eureka,配置中心Config,網關Zuul,斷路器,負載Ribbon,以及鏈路追蹤的Sleuth(Springboot3已經被Micrometer Tracing項目取代)甚至是JAVA8的Lambda,還入手了一本翟永超的《Spring Cloud微服務實戰》。

?被名詞轟炸的一個背后原因是在開發toB系統的那些年,系統基本都是單體的,所有的功能都在一個項目代碼里面,包括前端/后端(那時候也不流行前后端分離):

  • 銀行/機構的大部分管理系統(甚至核心系統)都是內網專線,即所謂的私部署,不像toC這樣面對互聯網開放
  • toB的系統并發雖然業務相對復雜,但并發不高,對分布式沒有強烈的需求
  • 最后一點,不一味追求新技術,穩定成熟才是首要考慮需求

在單體系統時代出了問題或者要排查問題,基本在本系統排查就夠了,一般不超出關聯上下游2-3個系統:

  • 查詢本系統的相關日志即可,排查比較方便,內容項也不多:應用日志/數據庫
  • 或者人肉聯系上下游系統相關負責人去查下,范圍也不擴大

但是在分布式系統架構下,這個方式就有點困難了:

  • 隨著系統的調用鏈路變長依賴系統增多,查詢日志就顯得不那么容易了:幾個十幾個系統要逐個排查日志,可能每個系統的日志規范還不一樣,中間要是哪個漏了還查不出來,難以定位
  • 微服務架構下,多半組織架構也不一樣了:會按照微服務來劃分不同的開發團隊,溝通成本幾何增加,要是每個問題都人肉拉群處理,那很快就大家不用干活了

所以分布式系統架構對于統一的服務調用請求追蹤就顯示很有必要了:一個鏈路追蹤需要達到至少2方面的要求:

  • 從調用過程角度看:從客戶端發起請求開始,記錄請求流經的每一個服務,直到向客戶端返回響應為止
  • 從記錄過程角度看:能夠記錄具體調用了哪些服務,以及調用的順序、開始時點、執行時長等信息

什么是鏈路追蹤

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

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

相關文章

PHP酒店點菜管理系統mysql數據庫web結構apache計算機軟件工程網頁wamp

一、源碼特點 PHP 酒店點菜管理系統是一套完善的web設計系統,對理解php編程開發語言有幫助,系統具有完整的源代碼和數據庫,系統主要采用B/S模式開發。 代碼下載 https://download.csdn.net/download/qq_41221322/88232051 論文 https://…

前端技術Vue學習筆記--005

Vue學習筆記 一、非父子通信-event bus 事件總線 作用:非父子組件之間,進行簡易消息傳遞。(復雜場景用----Vuex) 使用步驟: 創建一個都能訪問的事件總線 (空Vue實例)-----utils/EventBus.js /…

兩個數組的交集-C語言/Java

描述 給定兩個數組 nums1 和 nums2 &#xff0c;返回 它們的交集 。輸出結果中的每個元素一定是 唯一 的。我們可以 不考慮輸出結果的順序。&#xff08;1 < nums1.length, nums2.length < 1000&#xff0c;0 < nums1[i], nums2[i] < 1000&#xff09; 示例1 輸入…

【golang】通道(channel)的基本原理(一)

通道類型的值本身就是并發安全的&#xff0c;這也是Go語言自帶的、唯一一個可以滿足并發安全性的類型。 聲明一個通道類型變量的時候&#xff0c;我們首先要確定該通道類型的元素類型&#xff0c;決定了我們可以通過這個通道傳遞什么類型的數據。 在初始化通道的時候&#xf…

一鍵批量修改文件夾名稱,中文瞬間變日語,輕松搞定重命名

大家好&#xff01;現在為了更好地適應全球化發展&#xff0c;許多人都有了海外交流、旅行、學習的需求。但是難免遇到一個問題&#xff1a;在電腦中的中文文件夾名稱如何快速翻譯成日語&#xff1f; 首先&#xff0c;第一步&#xff0c;我們需要打開文件批量改名&#xff0c;…

【Unity】編輯器下查找制定文件下的所有特定資源

需求上很簡單&#xff0c;就是在編輯器下&#xff0c;找到某個制定文件下的所有特定資源&#xff08;UnityEngine.Object&#xff09;。Unity 沒有提供專門的 API&#xff0c;我一開始想在網上搜索代碼&#xff0c;發現沒有現成可以直接用的。 功能實現本身并不復雜&#xff0c…

AWS EKS 集群自動擴容 Cluster Autoscaler

文章目錄 一&#xff0c;需求工作需求說明 二&#xff0c;部署精簡命令執行1&#xff0c;要求2&#xff0c;查看EC2 Auto Scaling groups Tag3&#xff0c;創建Serviceaccount需要的Policy&#xff0c;Role4&#xff0c;部署Cluster Autoscaler5&#xff0c;驗證6&#xff0c;常…

zotero在不同系統的安裝(win/linux)

1 window系統安裝 zotero 官網&#xff1a; https://www.zotero.org/ 官方文檔 &#xff1a;https://www.zotero.org/support/ (官方)推薦常用的插件: https://www.zotero.org/support/plugins 入門視頻推薦&#xff1a; Zotero 文獻管理與知識整理最佳實踐 點擊 exe文件自…

【環境配置】Windows 10 安裝 PyTorch 開發環境,以及驗證 YOLOv8

Windows 10 安裝 PyTorch 開發環境&#xff0c;以及驗證 YOLOv8 最近搞了一臺Windows機器&#xff0c;準備在上面安裝深度學習的開發環境&#xff0c;并搭建部署YOLOv8做訓練和測試使用&#xff1b; 環境&#xff1a; OS&#xff1a; Windows 10 顯卡&#xff1a; RTX 3090 安…

Bug日記-webstorm運行yarn 命令報錯

在windows中輸入yarn -v正確輸出&#xff0c;在webstrom終端中運行yarn命令輸出錯誤 問題&#xff1a;可能是由于 WebStorm 配置問題導致的。 解決方案&#xff1a; 檢查 WebStorm 的終端配置&#xff1a;在 WebStorm 中&#xff0c;點擊菜單欄的 “File”&#xff08;文件&am…

DeepSort:基于檢測的目標跟蹤的經典

本文來自公眾號“AI大道理” DeepSORT在SORT的基礎上引入了深度學習的特征表示和更強大的目標關聯方式&#xff0c;有效地減少了身份切換的數量&#xff0c;緩解了重識別問題。 ? 1、DeepSORT簡介 DeepSORT的主要思想是將目標檢測和目標跟蹤兩個任務相結合。 首先使用目標檢…

排序算法分析——什么時候 用 什么排序

排序算法 & 分析 排序算法歷史排序算法分析很快的排序較快的排序中等的排序很慢的排序 分析的結果0.沒有要求1.對速度有要求2.邊排序邊操作3.條件1&條件24.在有序數中操作5.條件1&條件4 了解各種排序&#xff0c;詳見排序專欄 排序算法歷史 縱觀排序算法的歷史&a…

硬件產品經理:從入門到精通(新書發布)

目錄 簡介 新書 框架內容 相關課程 簡介 在完成多款硬件產品從設計到推向市場的過程后。 筆者于2020年開始在產品領域平臺輸出硬件相關的內容。 在這個過程中經常會收到很多讀者的留言&#xff0c;希望能推薦一些硬件相關的書籍或資料。 其實&#xff0c;筆者剛開始做硬…

10. 實現業務功能--退出登錄

目錄 1. 實現 Controller 2. 單體測試 3. 實現前端界面 退出的具體實現邏輯如下&#xff1a; 1. 用戶訪問退出接口 2. 服務器注銷 Session( 在 Controller 中可以直接進行處理 &#xff09; 3. 返回成功或失敗 4. 如果返回成功瀏覽器跳轉到相應頁面 5. 結束 一般來說&#…

使用VS2015打開.pro文件后,編譯報錯

編譯報錯內容&#xff1a; MSB8036 找不到 Windows SDK 版本10.0.18362.0。請安裝所需的版本的 Windows SDK 或者在項目屬性頁中或通過右鍵單擊解決方案并選擇“重定解決方案目標”來更改 SD 方法&#xff1a; 1.右鍵點擊 Solution上&#xff0c;在彈出的框中點擊“Retarget…

調整數組使奇數全部都位于偶數前面

題目內容&#xff1a; 輸入一個整數數組&#xff0c;實現一個函數&#xff0c; 來調整該數組中數字的順序使得數組中所有的奇數位于數組的前半部分&#xff0c; 所有偶數位于數組的后半部分。 題目思路&#xff1a; 將奇數部分放在前半部分&#xff0c;偶數部分放在后半部分&am…

學習筆記230804---restful風格的接口,delete的傳參方式問題

如果后端提供的刪除接口是restful風格&#xff0c;那么使用地址欄拼接的方式發送請求&#xff0c;數據放在主體中&#xff0c;后端接受不到&#xff0c;當然也還有一種可能&#xff0c;后端在這個接口的接參設置上是req.query接參。 問題描述 今天遇到的問題是&#xff0c;de…

新榜 | CityWalk本地生活商業價值洞察報告

如果說現在有人問&#xff0c;最新的網絡熱詞是什么? “CityWalk”&#xff0c;這可能是大多數人的答案。 近段時間&#xff0c;“CityWalk”刷屏了各種社交媒體&#xff0c;給網友們帶來了一場“城市漫步”之旅。 脫離群體狂歡&#xff0c;這個在社交媒體引發熱議的詞匯背后又…

首發 | FOSS分布式全閃對象存儲系統白皮書

一、 產品概述 1. 當前存儲的挑戰 隨著云計算、物聯網、5G、大數據、人工智能等新技術的飛速發展&#xff0c;數據呈現爆發式增長&#xff0c;預計到2025年中國數據量將增長到48.6ZB&#xff0c;超過80%為非結構化數據。 同時&#xff0c;數字經濟正在成為我國經濟發展的新…