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

dubbo集成zipkin獲取Traceid的實(shí)現(xiàn)

 更新時(shí)間:2021年07月26日 11:33:14   作者:madman1990  
這篇文章主要介紹了dubbo集成zipkin獲取Traceid的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

dubbo集成zipkin獲取Traceid

dubbo集成zipkin有java的客戶(hù)端brave,實(shí)現(xiàn)原理的通過(guò)定義Filter來(lái)實(shí)現(xiàn)的,然后通過(guò)RpcContext.getContext().getAttachments()來(lái)獲取,通過(guò)RpcContext.getContext()來(lái)傳遞。

按照dubbo官網(wǎng)的博客配置了這個(gè)MDCScopeDecorator應(yīng)該就可以做在日志里面使用[%X{traceId}/%X{spanId}來(lái)打印了,但是我的一致打印不出來(lái),不知道為啥,然后就想了一個(gè)折中的方法。

 <bean id="tracing" class="brave.spring.beans.TracingFactoryBean">
        <property name="localServiceName" value="hello-service"/>
        <property name="spanReporter">
            <bean class="zipkin2.reporter.beans.AsyncReporterFactoryBean">
                <property name="sender" ref="sender"/>
                <!-- wait up to half a second for any in-flight spans on close -->
                <property name="closeTimeout" value="500"/>
            </bean>
        </property>
        <property name="currentTraceContext">
            <bean class="brave.spring.beans.CurrentTraceContextFactoryBean">
                <property name="scopeDecorators">
                    <bean class="brave.context.slf4j.MDCScopeDecorator" factory-method="create"/>
                </property>
            </bean>
        </property>
    </bean>

一、dubbo中使用zipkin獲取traceid折中方法

zipkin集成dubbo就是擴(kuò)展了dubbo的filter過(guò)濾器,在執(zhí)行了TracingFilter之后呢,rpc的上下文RpcContext.getContext().getAttachments()里面就有這些traceId和spanId了,可以使用類(lèi)似ThreadLocal這樣的保存在當(dāng)前線程的上下文里面,然后在使用的地方獲取一下。

具體實(shí)現(xiàn):

再自定義一個(gè)dubbo的過(guò)濾器,掛在zipkin的過(guò)濾器的后面,類(lèi)似這樣,掛兩個(gè)過(guò)濾器,自定義的過(guò)濾器放在zipkin的過(guò)濾器的后面,在自定義的過(guò)濾器使用RpcContext.getContext().getAttachments()獲取前面那個(gè)zipkin過(guò)濾器里面的自定義參數(shù)。

在這里插入圖片描述 在這里插入圖片描述

方法二

如果使用的springboot項(xiàng)目直接使用spring-cloud-starter-zipkin來(lái)打印更方便,并且可以直接在代碼里獲取traceId和spanId

在這里插入圖片描述

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Windows下java、javaw、javaws以及jvm.dll等進(jìn)程的區(qū)別

    Windows下java、javaw、javaws以及jvm.dll等進(jìn)程的區(qū)別

    這篇文章主要介紹了Windows下java、javaw、javaws以及jvm.dll等進(jìn)程的區(qū)別,本文分別講解了它們的作用并給出代碼實(shí)例,最后做出了區(qū)別總結(jié),需要的朋友可以參考下
    2015-03-03
  • mybatisPlus中apply的使用以進(jìn)行聯(lián)表等復(fù)雜sql語(yǔ)句詳解

    mybatisPlus中apply的使用以進(jìn)行聯(lián)表等復(fù)雜sql語(yǔ)句詳解

    在MyBatis-Plus中,`apply()`方法可以用于添加任意的SQL片段,包括聯(lián)表查詢(xún),使用`apply()`方法的好處是可以直接添加原生的SQL片段,而不受MyBatis-Plus提供的常規(guī)查詢(xún)條件構(gòu)建方法的限制,但是,使用`apply()`方法需要注意安全性和性能問(wèn)題
    2025-03-03
  • springboot項(xiàng)目打包成jar包的圖文教程

    springboot項(xiàng)目打包成jar包的圖文教程

    有時(shí)候我們會(huì)用IDEA來(lái)開(kāi)發(fā)一些小工具,需要打成可運(yùn)行的JAR包,這篇文章主要給大家介紹了關(guān)于springboot項(xiàng)目打包成jar包的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • java.net.URL超時(shí)時(shí)間默認(rèn)無(wú)限制問(wèn)題小結(jié)

    java.net.URL超時(shí)時(shí)間默認(rèn)無(wú)限制問(wèn)題小結(jié)

    文章介紹了如何在Java中使用URLConnection或HttpURLConnection設(shè)置連接和讀取超時(shí),以處理網(wǎng)絡(luò)問(wèn)題導(dǎo)致的長(zhǎng)時(shí)間等待,通過(guò)httpstat.us網(wǎng)站可以測(cè)試不同延遲的請(qǐng)求,并演示了如何通過(guò)調(diào)整超時(shí)時(shí)間處理超時(shí)異常,感興趣的朋友一起看看吧
    2025-02-02
  • JAVA中Collections工具類(lèi)sort()排序方法

    JAVA中Collections工具類(lèi)sort()排序方法

    這篇文章主要介紹了JAVA中Collections工具類(lèi)sort()排序方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下。
    2016-11-11
  • Java concurrency之集合_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java concurrency之集合_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java集合主體內(nèi)容包括Collection集合和Map類(lèi);而Collection集合又可以劃分為L(zhǎng)ist(隊(duì)列)和Set(集合),有需要的小伙伴可以參考下
    2017-06-06
  • java之Timer和TimerTask簡(jiǎn)單demo(分享)

    java之Timer和TimerTask簡(jiǎn)單demo(分享)

    下面小編就為大家?guī)?lái)一篇java之Timer和TimerTask簡(jiǎn)單demo(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • Java如何按16進(jìn)制發(fā)送和接收TCP指令

    Java如何按16進(jìn)制發(fā)送和接收TCP指令

    這篇文章主要介紹了Java如何按16進(jìn)制發(fā)送和接收TCP指令問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • SpringBoot使用redis生成訂單號(hào)的實(shí)現(xiàn)示例

    SpringBoot使用redis生成訂單號(hào)的實(shí)現(xiàn)示例

    在電商系統(tǒng)中,生成唯一訂單號(hào)是常見(jiàn)需求,本文介紹如何利用SpringBoot和Redis實(shí)現(xiàn)訂單號(hào)的生成,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-09-09
  • Java實(shí)現(xiàn)截取視頻第一幀的示例詳解

    Java實(shí)現(xiàn)截取視頻第一幀的示例詳解

    在實(shí)際項(xiàng)目中,會(huì)遇到上傳視頻后,需要截取視頻的首幀或指定幀為圖片,作為展示使用的需求,下面小編就來(lái)為大家介紹一下如何使用Java實(shí)現(xiàn)截取視頻第一幀吧
    2025-03-03

最新評(píng)論

黄冈市| 苍溪县| 集贤县| 常州市| 天峨县| 大石桥市| 离岛区| 贺州市| 康平县| 民权县| 板桥市| 上犹县| 从化市| 日土县| 太原市| 邳州市| 应城市| 延长县| 中卫市| 米泉市| 达日县| 深州市| 西乌珠穆沁旗| 阜南县| 桃源县| 汨罗市| 邛崃市| 德阳市| 禄丰县| 康乐县| 佛冈县| 枣庄市| 聊城市| 南康市| 兴安盟| 叶城县| 达孜县| 永城市| 屏南县| 五寨县| 绿春县|