最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微服務鏈路追蹤Spring Cloud Sleuth整合Zipkin解析

 更新時間:2023年02月13日 10:15:36   作者:Lxlxxx  
這篇文章主要為大家介紹了微服務鏈路追蹤Spring Cloud Sleuth整合Zipkin解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

前言

如果在開發(fā)過程中,你還在靠查看服務器日志來尋找服務與服務之間的報錯信息,那么這篇一定要來看下,通常在我們開發(fā)環(huán)境自測的時候,我們會將代碼發(fā)布到開發(fā)環(huán)境,然后無論是通過postMan請求,還是通過頁面請求,遇到報錯的信息,我們都會去服務器上去看時實的日志,來尋找報錯信息;

如果涉及到多個服務調(diào)用,這個時候會登陸多個服務器去查看服務的報錯信息,這僅僅是在我們開發(fā)環(huán)境自測的時候我們會去這么操作;如果是在生產(chǎn)環(huán)境,還依靠這種方式,那么多少就會顯得比較low了,這時候我們就要快速的定位到故障服務,就要引入“服務調(diào)用鏈路”的概念。

何為調(diào)用鏈路

一個大型分布式微服務系統(tǒng)往往由若干個微服務組成,這些微服務部署在若干個服務器上,為了實現(xiàn)高可用還會采取集群的方式,若干個服務相互調(diào)用就形成了調(diào)用鏈網(wǎng)絡。

服務之間的調(diào)用出現(xiàn)異常、超時、宕機,某一個服務出現(xiàn)這樣的情況,都會導致整個調(diào)用鏈路出現(xiàn)問題, 在出現(xiàn)這樣問題的時候就要及時的解決,來避免整個業(yè)務系統(tǒng)的不可用,這個時候就必須快速定位問題。

Zipkin + Sleuth

作為為微服務提供調(diào)用鏈路支持的其實有很多組件,包括SkyWalking、CAT、Pinpoint、Zipkin + Sleuth,這些組件的實現(xiàn)方式、接入方式、顆粒度、traceid查詢等方面可能有不同,但是最終目的其實都一樣,就是把請求的鏈路記錄下來供開發(fā)人員排錯參考,這里我因為我項目使用的是Spring Cloud,協(xié)議也是使用的http,所選擇的是 Spring Cloud Sleuth更加匹配項目,集成也相對容易。

Zipkin

Zipkin分布式追蹤系統(tǒng),簡單的說在一個西瓜攤,里面的瓜有大有小、有熟有生、有好有壞,所有的瓜都混雜在一起,我們很難去找到比較合適的瓜買走, Zipkin所做的就是追蹤分析,找到好的瓜,然后將壞的瓜賣不出去的瓜進行剔除。

這離涉及到幾個概念,也是鏈路追蹤的核心。

  • Traceld:用來標記服務調(diào)用鏈的標記,包括所有在請求鏈中的服務,都使用的一個鏈路追蹤ID
  • SpanId:區(qū)域ID,調(diào)用鏈中某個服務的專屬ID,無論是調(diào)用者和被調(diào)用者都會產(chǎn)生自己的SpanId
  • ParentId:父級ID,調(diào)用者的生成的SpanId,在去請求下游服務,SpanId會成為下游服務的ParentId,用來標記上下游的關(guān)系。

Spring Cloud Sleuth

可以理解為基于Zipkin的一個封裝,sleuth可以記錄調(diào)用的情況,而Zipkin可以收集這些調(diào)用信息。

Zipkin啟動

下面基于Spring Cloud Sleuth整合Zipkin

docker run zipkin:

docker run -d  -p 9411:9411 openzipkin/zipkin

Zipkin 啟動完成

引入jar

使用的框架版本 spring-cloud.version:Hoxton.SR4 spring-boot.version:2.2.6.RELEASE

<!-- sleuth jar -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
<!-- zipkin jar -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-sleuth-zipkin</artifactId>
</dependency>

引入sleuth和zipkin,nacos配置

sleuth:
    enabled: true
    sampler:
      rate: 100
 # 設置 Sleuth 收集信息的百分比
zipkin:
    sender:
      type: web
    base-url: http://127.0.0.1:9411/

?? zipkin:sender:type: web (這里type類型可以支持多種,web、kafka、rabbit、activemq都可以支持),這里只做web類型的演示。

服務調(diào)用測試

System2 服務提供feig接口,供system服務調(diào)用

@FeignClient(contextId = "iTestServiceClient", value = "Lxlxxx-system2", fallbackFactory = TestServiceFallbackFactory.class)
public interface ITestServiceClient {
    /**
     * 服務調(diào)用測試方法
     * @return
     */
    @GetMapping("/test/method")
    public String testRequestMethod();
}

system服務調(diào)System2的feign接口

@RestController
@Slf4j
public class TestController {
    @Autowired
    private ITestServiceClient iTestServiceClient;
    @GetMapping("/testMethod")
    public void testMethod(){
        log.info("通過feign調(diào)用system2服務~~~~~~~~~");
        iTestServiceClient.testRequestMethod();
    }
}

我這邊注冊了兩個服務 分別是Lxlxxx-system 和 Lxlxxx-system2分服務

Zipkin查看調(diào)用情況

總結(jié)

由上面可見,可以很清楚的看出微服務之間的調(diào)用情況,當然這些調(diào)用的日志也是可以通過ES進行持久化的,這樣可以保證Zipkin重啟后,鏈路信息不會丟失,這里就不做展示了,有興趣的朋友也可以將ES集成進去。

當然,Spring Cloud Sleuth 結(jié)合 Zipkin不光可以對微服務進行追蹤,如果請求量較大也可以集成消息中間件,Sleuth將日志推給MQ,然后Zipkin去MQ隊列獲取服務調(diào)用日志,可以調(diào)用鏈在我們對服務監(jiān)控、排查問題,起到了至關(guān)重要的作用。

以上就是微服務鏈路追蹤Spring Cloud Sleuth整合Zipkin解析的詳細內(nèi)容,更多關(guān)于Spring Cloud Sleuth整合Zipkin的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 不同Java泛型構(gòu)造函數(shù)的詳解

    不同Java泛型構(gòu)造函數(shù)的詳解

    這篇文章主要介紹了不同Java泛型構(gòu)造函數(shù)的詳解,因為對象是應用類型,對象賦值是指向同一個對象,所以如果需要保存對象某個時刻的狀態(tài),就需要構(gòu)造函數(shù)來new一個新的對象。下面我們來詳細了解一下吧
    2019-06-06
  • 菜鳥學習java設計模式之單例模式

    菜鳥學習java設計模式之單例模式

    這篇文章主要為大家詳細介紹了java設計模式之單例模式的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • SpringBoot實現(xiàn)無限級評論回復的項目實踐

    SpringBoot實現(xiàn)無限級評論回復的項目實踐

    本文主要介紹了SpringBoot實現(xiàn)無限級評論回復的項目實踐,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • Java Calendar類的時間操作

    Java Calendar類的時間操作

    這篇文章主要為大家詳細介紹了Java Calendar類的時間操作,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • Trace?在多線程異步體系下傳遞流程解析

    Trace?在多線程異步體系下傳遞流程解析

    這篇文章主要為大家介紹了Trace?在多線程異步體系下傳遞流程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • SpringBoot中動態(tài)數(shù)據(jù)源配置與使用詳解

    SpringBoot中動態(tài)數(shù)據(jù)源配置與使用詳解

    在現(xiàn)代應用中,處理多數(shù)據(jù)源是常見的需求,在 Spring Boot 中,這樣的需求可以通過動態(tài)數(shù)據(jù)源來輕松實現(xiàn),本篇博客將詳細介紹如何在 Spring Boot 中配置和使用動態(tài)數(shù)據(jù)源,并演示如何切換到指定的數(shù)據(jù)源,需要的朋友可以參考下
    2024-10-10
  • 關(guān)于解決雪花算法生成的ID傳輸前端后精度丟失問題

    關(guān)于解決雪花算法生成的ID傳輸前端后精度丟失問題

    這篇文章主要介紹了關(guān)于解決雪花算法生成的ID傳輸前端后精度丟失問題,雪花算法生成的ID傳輸?shù)角岸藭r,會出現(xiàn)后三位精度丟失,本文提供了解決思路,需要的朋友可以參考下
    2023-03-03
  • Java中Volatile的作用實例解析

    Java中Volatile的作用實例解析

    本篇文章給大家通過實例分享了Java中Volatile的作用,有興趣的朋友可以學習參考下。
    2018-07-07
  • 總結(jié)Java集合類操作優(yōu)化經(jīng)驗

    總結(jié)Java集合類操作優(yōu)化經(jīng)驗

    本文主要介紹的就是集合框架的使用經(jīng)驗,告訴大家如何高效、方便地管理對象,所有代碼基于JDK7,需要的朋友可以參考下
    2015-08-08
  • java編程題之順時針打印矩陣

    java編程題之順時針打印矩陣

    這篇文章主要為大家詳細介紹了java編程題之順時針打印矩陣,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03

最新評論

甘孜县| 布尔津县| 嘉善县| 合作市| 长海县| 泗水县| 吴川市| 八宿县| 泾阳县| 墨竹工卡县| 靖江市| 大安市| 岫岩| 台北市| 两当县| 龙川县| 蒙自县| 乐业县| 绥棱县| 探索| 雅安市| 阿巴嘎旗| 民县| 五台县| 乌恰县| 衡山县| 花莲市| 玉溪市| 新巴尔虎左旗| 冀州市| 渝中区| 镶黄旗| 双牌县| 宁强县| 农安县| 曲阜市| 鹤庆县| 元朗区| 文化| 宜兰县| 且末县|