欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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的客戶端brave,實(shí)現(xiàn)原理的通過定義Filter來實(shí)現(xiàn)的,然后通過RpcContext.getContext().getAttachments()來獲取,通過RpcContext.getContext()來傳遞。

按照dubbo官網(wǎng)的博客配置了這個(gè)MDCScopeDecorator應(yīng)該就可以做在日志里面使用[%X{traceId}/%X{spanId}來打印了,但是我的一致打印不出來,不知道為啥,然后就想了一個(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過濾器,在執(zhí)行了TracingFilter之后呢,rpc的上下文RpcContext.getContext().getAttachments()里面就有這些traceId和spanId了,可以使用類似ThreadLocal這樣的保存在當(dāng)前線程的上下文里面,然后在使用的地方獲取一下。

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

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

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

方法二

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

在這里插入圖片描述

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

  • SpringMVC HttpMessageConverter消息轉(zhuǎn)換器

    SpringMVC HttpMessageConverter消息轉(zhuǎn)換器

    ??HttpMessageConverter???,報(bào)文信息轉(zhuǎn)換器,將請(qǐng)求報(bào)文轉(zhuǎn)換為Java對(duì)象,或?qū)ava對(duì)象轉(zhuǎn)換為響應(yīng)報(bào)文。???HttpMessageConverter???提供了兩個(gè)注解和兩個(gè)類型:??@RequestBody,@ResponseBody???,??RequestEntity,ResponseEntity??
    2023-04-04
  • MyBatis在Spring環(huán)境下的事務(wù)管理

    MyBatis在Spring環(huán)境下的事務(wù)管理

    MyBatis的設(shè)計(jì)思想很簡(jiǎn)單,可以看做是對(duì)JDBC的一次封裝,并提供強(qiáng)大的動(dòng)態(tài)SQL映射功能。這篇文章主要介紹了MyBatis在Spring環(huán)境下的事務(wù)管理 ,需要的朋友可以參考下
    2019-07-07
  • spring?boot項(xiàng)目中如何使用nacos作為配置中心

    spring?boot項(xiàng)目中如何使用nacos作為配置中心

    這篇文章主要介紹了spring?boot項(xiàng)目中如何使用nacos作為配置中心問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • idea創(chuàng)建springboot項(xiàng)目和springcloud項(xiàng)目的詳細(xì)教程

    idea創(chuàng)建springboot項(xiàng)目和springcloud項(xiàng)目的詳細(xì)教程

    這篇文章主要介紹了idea創(chuàng)建springboot項(xiàng)目和springcloud項(xiàng)目方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Springboot中useGeneratedKeys用法小結(jié)

    Springboot中useGeneratedKeys用法小結(jié)

    本文主要介紹了Springboot中useGeneratedKeys用法小結(jié),useGeneratedKeys?是 MyBatis 框架中的一個(gè)參數(shù),用于指定是否允許 JDBC 支持自動(dòng)生成主鍵,感興趣的可以了解一下
    2024-09-09
  • 使用springboot配置文件yml中的map形式

    使用springboot配置文件yml中的map形式

    這篇文章主要介紹了springboot配置文件yml中的map形式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Springboot整合Redis實(shí)現(xiàn)超賣問題還原和流程分析(分布式鎖)

    Springboot整合Redis實(shí)現(xiàn)超賣問題還原和流程分析(分布式鎖)

    最近在研究超賣的項(xiàng)目,寫一段簡(jiǎn)單正常的超賣邏輯代碼,多個(gè)用戶同時(shí)操作同一段數(shù)據(jù)出現(xiàn)問題,糾結(jié)該如何處理呢?下面小編給大家?guī)砹薙pringboot整合Redis實(shí)現(xiàn)超賣問題還原和流程分析,感興趣的朋友一起看看吧
    2021-10-10
  • 基于mybatis中數(shù)組傳遞注意事項(xiàng)

    基于mybatis中數(shù)組傳遞注意事項(xiàng)

    這篇文章主要介紹了mybatis中數(shù)組傳遞注意事項(xiàng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 最新評(píng)論