精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

微服務(wù)分布式架構(gòu)中,如何實現(xiàn)日志鏈路跟蹤?

開發(fā) 架構(gòu) 分布式
在現(xiàn)有的系統(tǒng)中,由于大量的其他用戶/其他線程的日志也一起輸出穿行其中導(dǎo)致很難篩選出指定請求的全部相關(guān)日志。那我們?nèi)绾蝸硖幚砟?

 背景

開發(fā)排查系統(tǒng)問題用得最多的手段就是查看系統(tǒng)日志,在分布式環(huán)境中一般使用ELK來統(tǒng)一收集日志,但是在并發(fā)大時使用日志定位問題還是比較麻煩,我們來看下面的圖:

 

上圖一個用戶請求一個url,整個鏈路如圖,每個處理層都會產(chǎn)生日志,那我們?nèi)绾伟堰@些日志串在一些,形成一個請求全路徑日志。

在現(xiàn)有的系統(tǒng)中,由于大量的其他用戶/其他線程的日志也一起輸出穿行其中導(dǎo)致很難篩選出指定請求的全部相關(guān)日志。那我們?nèi)绾蝸硖幚砟?

解決思路

我們可以把每個請求弄一個唯一標識,然后我們可以在日志打印的時候代上每個請求都使用一個唯一標識,而且那個唯一標識需要傳遞給下游服務(wù),下游服務(wù)打印日志的時候也帶上這個唯一標識,這樣就很好的追蹤全部的鏈路顯示在日志中。

那技術(shù)實現(xiàn)方案是什么呢?我們應(yīng)該盡可能的對代碼無入侵,使用Logback的MDC機制日志模板中加入traceId標識,取值方式為%X{traceId}。

什么是MDC

MDC(Mapped Diagnostic Context,映射調(diào)試上下文)是 log4j 和 logback 提供的一種方便在多線程條件下記錄日志的功能。MDC 可以看成是一個與當前線程綁定的Map,可以往其中添加鍵值對。

MDC 中包含的內(nèi)容可以被同一線程中執(zhí)行的代碼所訪問。當前線程的子線程會繼承其父線程中的 MDC 的內(nèi)容。當需要記錄日志時,只需要從 MDC 中獲取所需的信息即可。MDC 的內(nèi)容則由程序在適當?shù)臅r候保存進去。對于一個 Web 應(yīng)用來說,通常是在請求被處理的最開始保存這些數(shù)據(jù)。

方案實現(xiàn)

由于MDC內(nèi)部使用的是ThreadLocal所以只有本線程才有效,子線程和下游的服務(wù)MDC里的值會丟失;所以方案主要的難點是解決值的傳遞問題,主要包括以幾下部分:

  • API網(wǎng)關(guān)中的MDC數(shù)據(jù)如何傳遞給下游服務(wù)
  • 服務(wù)如何接收數(shù)據(jù),并且調(diào)用其他遠程服務(wù)時如何繼續(xù)傳遞
  • 異步的情況下(線程池)如何傳給子線程

修改日志模板

logback配置文件日志格式添加該標識

 

網(wǎng)關(guān)添加過濾器

此過濾器就是來解決網(wǎng)關(guān)如何把MDC的數(shù)據(jù)傳遞給下游服務(wù):

生成traceId并通過header傳遞給下游服務(wù)

 

上面代碼有個MDC是屬于org.slf4j.MDC中的,下面就是常量的值:

  1. /** 
  2. * 日志鏈路追蹤id信息頭 
  3. */ 
  4. String TRACE_ID_HEADER = "x-traceId-header"
  5. /** 
  6. * 日志鏈路追蹤id日志標志 
  7. */ 
  8. String LOG_TRACE_ID = "traceId"

下游服務(wù)增加spring攔截器

接收并保存traceId的值:

 

下游服務(wù)增加feign攔截器

繼續(xù)把當前服務(wù)的traceId值傳遞給下游服務(wù):

 

解決父子線程傳遞問題

主要針對業(yè)務(wù)會使用線程池(異步、并行處理),并且spring自己也有@Async注解來使用線程池,要解決這個問題需要以下兩個步驟:

重寫logback的LogbackMDCAdapter

由于logback的MDC實現(xiàn)內(nèi)部使用的是ThreadLocal不能傳遞子線程,所以需要重寫替換為阿里的TransmittableThreadLocal。

TransmittableThreadLocal 是Alibaba開源的、用于解決 “在使用線程池等會緩存線程的組件情況下傳遞ThreadLocal” 問題的 InheritableThreadLocal 擴展。若希望 TransmittableThreadLocal 在線程池與主線程間傳遞,需配合TtlRunnable和TtlCallable使用。

 

  • 其他代碼與ch.qos.logback.classic.util.LogbackMDCAdapter一樣,只需改為調(diào)用copyOnInheritThreadLocal變量。

TtlMDCAdapterInitializer類用于程序啟動時加載自己的mdcAdapter實現(xiàn):

 

擴展線程池實現(xiàn)

增加TtlRunnable和TtlCallable擴展:

 

場景測試

測試代碼如下:

  1. log.info("測試"
  2. @Async 
  3. public  void test(){ 
  4. log.info("測試1"
  5. userService.findByUserName("gu"); 

api網(wǎng)關(guān)打印的日志

 

ELK聚合日志通過traceId查詢整條鏈路日志

當系統(tǒng)出現(xiàn)異常時,可直接通過該異常日志的traceId的值,在日志中心查詢該請求的所有日志信息,類似下圖:

 

總結(jié)

到此分布式的日志跟蹤就已經(jīng)完成了,這樣就很好的可以排查整個微服務(wù)的日志鏈路,謝謝!!!

作者:享學(xué)課堂

鏈接:https://www.jianshu.com/p/a3ebc9249b69

來源:簡書

責任編輯:武曉燕 來源: 簡書
相關(guān)推薦

2021-06-09 09:00:00

微服務(wù)架構(gòu)技術(shù)

2018-03-13 16:42:26

分布式服務(wù)跟蹤

2020-09-11 09:44:04

微服務(wù)分布式鏈路

2018-03-02 16:11:29

Spring Clou分布式服務(wù)跟蹤

2018-04-18 16:07:49

Spring Clou微服務(wù)分布式

2018-04-16 14:56:56

微服務(wù)架構(gòu)分布式服務(wù)

2018-04-09 13:56:13

微服務(wù)架構(gòu)分布式

2018-04-02 15:01:31

微服務(wù)架構(gòu)分布式服務(wù)

2021-01-25 15:00:44

微服務(wù)分布式日志

2020-07-31 08:19:58

APM工具

2020-12-16 09:24:18

Skywalking分布式鏈路追蹤

2024-06-07 13:04:31

2023-09-12 22:58:51

分布式架構(gòu)微服務(wù)

2024-08-21 08:09:17

2022-08-05 10:03:17

分布式微服務(wù)

2024-01-26 07:49:49

Go分布式鏈路

2023-05-29 14:07:00

Zuul網(wǎng)關(guān)系統(tǒng)

2017-01-16 14:51:26

京東分布式服務(wù)CallGraph

2022-02-15 17:56:19

SpringBoot日志

2022-01-26 00:03:00

高可用gRPC微服務(wù)
點贊
收藏

51CTO技術(shù)棧公眾號

亚洲欧美综合自拍| 日本超碰在线观看| 九九热视频在线观看| 免费日韩av| 国产婷婷成人久久av免费高清| 91视频最新入口| 欧美性天天影视| 菠萝蜜视频在线观看一区| 青青草成人在线| 国精品无码一区二区三区| 午夜电影一区| 欧美中文字幕一区| 欧美成人精品免费| 91精品国产综合久久久久久豆腐| 国产宾馆实践打屁股91| 欧美在线视频一区| 免费无遮挡无码永久在线观看视频| 久久资源综合| 欧美高清视频www夜色资源网| 欧美狂野激情性xxxx在线观| 爱爱爱免费视频在线观看| 成人中文字幕电影| 91精品视频在线播放| 亚洲天堂视频网站| 欧美日韩久久| 色av中文字幕一区| 亚洲av成人片无码| 99精品在线免费观看| 一本在线高清不卡dvd| 999久久欧美人妻一区二区| 成人综合影院| 久久蜜桃一区二区| 国产一区二区免费电影| av中文字幕免费| 日本欧美一区二区三区| 26uuu亚洲国产精品| 久久久无码精品亚洲国产| 婷婷精品进入| 色老头一区二区三区在线观看| 欧美亚一区二区三区| 国产精品极品在线观看| 日韩欧美亚洲国产精品字幕久久久| 鲁一鲁一鲁一鲁一av| 午夜精品成人av| 午夜精品一区在线观看| 成年丰满熟妇午夜免费视频| а√天堂8资源在线官网| 国产欧美精品一区| 日本一区二区三区四区在线观看| 涩涩视频在线观看免费| 91免费在线看| 麻豆亚洲一区| 国产在线视频你懂得| 久久久www成人免费无遮挡大片| 精品一区二区三区日本| 天天摸夜夜添狠狠添婷婷| 不卡电影免费在线播放一区| 成人在线观看91| 午夜精品在线播放| 成人晚上爱看视频| av免费精品一区二区三区| 亚洲av无码乱码国产精品久久| 国产黑丝在线一区二区三区| 成人免费视频网站| 狠狠综合久久av一区二区| 成人国产精品视频| 久久99精品久久久久久秒播放器 | 亚洲1234区| 色综合久久66| 四季av一区二区三区| 日韩三区四区| 日韩美女天天操| 私密视频在线观看| 国产伦一区二区三区| 亚洲视频日韩精品| 欧美大片xxxx| 亚洲天堂激情| 国产成人精品视频在线| 亚洲中文字幕一区二区| 国产福利一区二区| 精品乱码一区二区三区| 成人免费在线电影| 亚洲视频图片小说| cao在线观看| 3d欧美精品动漫xxxx无尽| 在线播放一区二区三区| 韩国黄色一级片| 九一成人免费视频| 理论片在线不卡免费观看| 国产亚洲成人av| 久久精品卡一| 亚洲va欧美va国产综合久久| 亚州男人的天堂| 国产精品区一区二区三| 波多野结衣av一区二区全免费观看| 亚洲午夜天堂| 欧美一级国产精品| 亚洲欧美成人一区二区在线电影| 青青草原亚洲| а√天堂资源地址在线下载| 欧美日韩免费网站| 欧美激情国内自拍| 色狠狠久久av综合| 久久国产精品影视| av毛片在线免费观看| 国产乱子伦一区二区三区国色天香| 精品日本一区二区三区| 幼a在线观看| 富二代精品短视频| 亚洲精品乱码久久久久久9色| 九九久久婷婷| 羞羞色国产精品| 一本色道久久综合亚洲| 久久综合久久鬼色中文字| 无码人妻精品一区二区三区99v| 超级碰碰久久| 亚洲国产精彩中文乱码av| 2014亚洲天堂| 日韩av在线发布| av一区二区三区四区电影| 18视频免费网址在线观看| 欧美性极品少妇精品网站| 亚洲精品鲁一鲁一区二区三区| 成人同人动漫免费观看| 97在线观看视频国产| av免费在线不卡| 国产精品伦理在线| 91av俱乐部| 少妇久久久久| 911国产网站尤物在线观看| 精品女同一区二区三区| 国产精品成人免费精品自在线观看| 黄色片一级视频| 蜜臀av一区| 欧美高清视频一区二区| 国产视频www| 日韩毛片精品高清免费| 向日葵污视频在线观看| 欧美丝袜激情| 国产精品美女免费看| 久热av在线| 色噜噜狠狠成人中文综合| av在线网站观看| 国自产拍偷拍福利精品免费一| 亚洲精品日韩av| av文字幕在线观看| 欧美一区二区三区视频免费| 中文乱码字幕高清一区二区| 国内精品写真在线观看| 中文字幕久久综合| 精品国产一区二区三区2021| 久久综合伊人77777蜜臀| 91午夜交换视频| 1024国产精品| 亚洲精品一二三四| 91久久视频| 久久婷婷开心| 日日夜夜天天综合| 中文在线不卡视频| 91麻豆视频在线观看| 日韩毛片视频在线看| 欧美老女人bb| 一本色道久久综合| 日本免费高清一区| 成人午夜毛片| 美日韩精品视频免费看| 黄频网站在线观看| 日韩欧美在线视频免费观看| 无码人妻aⅴ一区二区三区69岛| 奇米精品一区二区三区在线观看一| 一本久久a久久精品vr综合 | 不卡视频一区二区三区| 国产天堂在线播放视频| 日韩精品中文字幕有码专区| 成人免费视频国产免费| 国产精品成人网| 岛国精品一区二区三区| 久久蜜桃精品| 艳母动漫在线免费观看| 国产亚洲成av人片在线观黄桃| 91黄色8090| 欧美一区二区三区在线观看免费| 欧美www视频| 91青青草视频| 亚洲精品五月天| 中文在线一区二区三区| 蜜臀va亚洲va欧美va天堂| 国产精品视频二| 九九在线精品| 成人一区二区在线| 三级成人在线| 久久久久久久久久婷婷| 大片免费播放在线视频| 亚洲大胆人体视频| 这里只有久久精品视频| 亚洲一区二区欧美日韩| 成人黄色免费网址| 成人免费看的视频| 污色网站在线观看| 亚洲精品影院在线观看| 中文字幕一区二区三区5566| 日本午夜精品| 亚洲在线视频观看| 国精产品一区一区三区四川| 欧美国产精品日韩| 99se视频在线观看| 日韩精品在线视频观看| 精品国产九九九| 欧美影院精品一区| 午夜毛片在线观看| 亚洲男人天堂av| 久久日免费视频| 99久久精品免费看国产| av中文字幕网址| 久久久久久久欧美精品| 91动漫在线看| 中文字幕一区二区三三| 亚洲春色在线视频| 尤物tv在线精品| 国产在线欧美日韩| 亚洲成人黄色| 成人久久18免费网站图片| 偷拍视频一区二区三区| 欧美亚洲第一页| 97蜜桃久久| 久久久久久午夜| 97caopor国产在线视频| 日韩在线观看视频免费| 国产美女性感在线观看懂色av| 亚洲精品国精品久久99热| 亚洲国产一二三区| 欧美一级理论片| 国产喷水福利在线视频| 在线日韩国产精品| www.com亚洲| 色偷偷88欧美精品久久久| 亚洲精品国产精品乱码| 亚洲成人动漫精品| 日本免费一二三区| 亚洲成人av一区二区三区| 欧美精品一级片| 亚洲综合视频在线观看| 免费在线一级片| 一区二区久久久| 免费一级肉体全黄毛片| 亚洲综合色在线| 国产一级久久久| 午夜一区二区三区视频| 国产成人亚洲欧洲在线| 精品动漫一区二区三区| 免费在线不卡视频| 欧美性极品xxxx娇小| 久久精品偷拍视频| 欧美日韩亚洲国产综合| 中文字幕日韩三级| 9191成人精品久久| 亚洲精品久久久久久久久久| 精品日本一线二线三线不卡| 视频一区 中文字幕| 精品亚洲一区二区| 国产福利第一视频在线播放| 自拍偷拍亚洲在线| 国产二区三区在线| 欧美激情一区二区久久久| 鲁鲁在线中文| 国产精品精品视频| 国产成年精品| 国产无套精品一区二区| 免费久久精品| 亚洲欧美日韩在线综合| 午夜精品国产| 国产精品999视频| 三级影片在线观看欧美日韩一区二区| 亚洲欧美日韩一级| 国产精品一区二区黑丝| 黄色录像a级片| 国产精品入口麻豆原神| 久久久久久久伊人| 日本二三区不卡| 99久久久国产精品无码网爆| 亚洲国产精品yw在线观看| 高清日韩av电影| 欧美成人免费小视频| 伊人成综合网站| 成人国产在线视频| 欧美成人基地| 一区二区不卡在线视频 午夜欧美不卡' | 波多视频一区| 91国产在线播放| 国产99久久| 成人在线视频一区二区三区| 亚洲影院免费| 伊人成人免费视频| 久久蜜臀精品av| 国产主播在线观看| 欧美日韩一区二区三区不卡 | 欧美三级电影网址| 国产精品久久久对白| 日韩在线视屏| 国产亚洲综合视频| 国产麻豆欧美日韩一区| 一级性生活毛片| 亚洲综合视频在线| 97超碰国产在线| 精品在线欧美视频| 欧美寡妇性猛交xxx免费| 国产精自产拍久久久久久| 欧美男人操女人视频| 黄色污污在线观看| 免费人成精品欧美精品| av直播在线观看| 亚洲最大色网站| 亚洲视频在线观看免费视频| 日韩精品极品视频免费观看| 日本在线视频中文有码| 国产精品视频午夜| 亚洲黄页在线观看| 男人日女人视频网站| 国产精品一区不卡| 日韩在线观看免| 在线观看av一区二区| 欧美中文在线| 3344国产精品免费看| 红杏视频成人| 黄色激情在线视频| 国产成人在线视频播放| 亚洲最大的黄色网址| 欧美日韩第一区日日骚| 草碰在线视频| 国产精品黄色av| 欧美日韩激情| caopor在线视频| 国产亚洲综合色| 成人a v视频| 亚洲日韩中文字幕| 中国色在线日|韩| 九色一区二区| 一本色道久久综合亚洲精品高清 | 国产91精品不卡视频| 国产香蕉精品| 亚欧无线一线二线三线区别| 不卡视频在线观看| 最新中文字幕一区| 日韩毛片在线观看| 韩漫成人漫画| 奇米888一区二区三区| 日韩精品一二三区| xxxx日本黄色| 欧美日本一区二区在线观看| 丝袜美腿美女被狂躁在线观看| 国产欧美日韩免费| 五月激情综合| 日韩精品xxx| 午夜私人影院久久久久| 性xxxx视频| 国产精品99久久久久久久久| 成人免费在线播放| theporn国产精品| 一级日本不卡的影视| 色wwwwww| 国产精品96久久久久久| 99久久婷婷| 韩国三级在线看| 欧美日韩精品二区| 大片免费播放在线视频| 亚洲字幕一区二区| 99精品免费视频| 三上悠亚影音先锋| 欧美顶级少妇做爰| 国产第一页在线| 欧美日韩一区综合| 久久精品国产精品亚洲精品| 四虎免费在线视频| 亚洲精品久久久久久久久久久久 | 在线成人av| 少妇按摩一区二区三区| 欧美午夜精品电影| 亚洲色图美国十次| 蜜桃av噜噜一区二区三区| 免费观看成人鲁鲁鲁鲁鲁视频| 三级全黄做爰视频| 亚洲高清一区二| 成人精品三级| 日韩欧美视频免费在线观看| 久久一二三国产| 99在线观看精品视频| 国产91精品久久久久| 久久久久免费av| 少妇饥渴放荡91麻豆| 欧美日韩国产美| sm在线播放| 国产91av视频在线观看| 波多野结衣在线aⅴ中文字幕不卡| 国产精品熟女视频| 国产69精品久久久久9| 日本a口亚洲| 国产精品无码专区| 3d动漫精品啪啪| 激情亚洲影院在线观看| www.夜夜爱|