中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

地方政府網(wǎng)站建設(shè)中存在的問題怎么在百度上發(fā)布廣告

地方政府網(wǎng)站建設(shè)中存在的問題,怎么在百度上發(fā)布廣告,java做的網(wǎng)站怎么設(shè)置關(guān)閉和開啟網(wǎng)站訪問,html政府網(wǎng)站模板背景 最近線上的日志全局追蹤 traceId 不好使了,不同請(qǐng)求經(jīng)常出現(xiàn)重復(fù)的 traceId,或者通過某個(gè)請(qǐng)求的 traceId 追蹤搜索,檢索出了與該請(qǐng)求完全不相干的日志。我領(lǐng)導(dǎo)叫我去排查解決這個(gè)問題,這里我把我排查的過程思路以及如何解決…

背景

最近線上的日志全局追蹤 traceId 不好使了,不同請(qǐng)求經(jīng)常出現(xiàn)重復(fù)的 traceId,或者通過某個(gè)請(qǐng)求的 traceId 追蹤搜索,檢索出了與該請(qǐng)求完全不相干的日志。我領(lǐng)導(dǎo)叫我去排查解決這個(gè)問題,這里我把我排查的過程思路以及如何解決這個(gè)問題稍微記錄下。

全鏈路追蹤原理:Spring web 的攔截器(HandlerInterceptor)+ 阿里的一個(gè)開源工具 (TransmittableThreadLocal 支持主線程到線程池的透?jìng)?#xff09;+ feign 的 RequestInterceptor

排查過程

在排查日志之前,我經(jīng)驗(yàn)告訴我,這大概率是 TTL 的 agent 代理與線上的 arm 監(jiān)控代理沖突,導(dǎo)致線程池透?jìng)?traceId 沒生效導(dǎo)致的(我以前也碰到過這類問題)

  1. 查看每個(gè)前端請(qǐng)求接口的日志打印,發(fā)現(xiàn)不同的請(qǐng)求確實(shí)存在重復(fù)的 traceId。

image-20230330161945222

接著,我去看了下打印這行日志的實(shí)現(xiàn),如下圖,是通過一個(gè) AOP 切面攔截所有的rest 請(qǐng)求去打印。其中,打印日志使用了線程池。

image-20230330162624180

結(jié)論一:證實(shí)了我的猜測(cè),線程池透?jìng)?traceId 沒生效。也就是說,所有接口業(yè)務(wù)中使用到線程池的都可能會(huì)串 traceId。

  1. 當(dāng)時(shí)我以為這就完了。在一次偶然的排查線上問題中發(fā)現(xiàn),基本在同一時(shí)間,沒有使用到線程池的兩個(gè)業(yè)務(wù)接口,打印的日志的 traceId 是一樣的。

    我首先想到是,是不是接口請(qǐng)求接口沒清除 traceId 呢,也就是沒有重寫 攔截器的 org.springframework.web.servlet.handler.HandlerInterceptorAdapter#afterCompletion 方法呢?

    image-20230330165201532

    我去看一了下源代碼,雖然沒有重寫afterCompletion() 方法在每次請(qǐng)求結(jié)束之后清除 traceId,但看 如上的preHandle()方法的代碼邏輯,不清除也不要緊,如上代碼所示,當(dāng)在請(qǐng)求頭中獲取 traceId 不存在時(shí)會(huì)重新生成一個(gè) traceId。

    初步猜測(cè):

    1)IdWorker 生成的隨機(jī)id重復(fù)了?

    不太可能吧,IdWorker 用的是雪花算法啊,盡管在同一毫秒,并發(fā)量不高的話也不會(huì)生成重復(fù)的…

    2) IdWorker 非單例的原因?

結(jié)論二:短時(shí)間內(nèi),存在 IdWorker 生成了重復(fù)的 traceId。

解決方案

  1. 關(guān)于第一個(gè)線程池透?jìng)?traceId 沒生效問題。主要有兩個(gè)原因:

    1.1 項(xiàng)目壓根就沒有對(duì)線程池做 TTL 的包裝增強(qiáng)(也就是項(xiàng)目啟動(dòng)參數(shù)沒有加上 TTL 的 agent 方式代理),需要把參數(shù)給加上。

    -javaagent:D:\AAA_pengyu\respository\com\alibaba\transmittable-thread-local\2.11.5\transmittable-thread-local-2.11.5.jar
    

    1.2 實(shí)際上,盡管在所有項(xiàng)目把 TTL 的 agent 方式代理啟動(dòng)參數(shù)家加上也還是會(huì)失效的。前面說了,TTL 的 agent 代理與線上的 arm 監(jiān)控代理沖突。

    針對(duì)和阿里云的溝通,修改方案如下:

    image-20230330173838128

  2. 關(guān)于 IdWorker 生成了重復(fù)的 traceId。

    在測(cè)試調(diào)整過程中,我把IdWorker 改成單例模式之后,也還是會(huì)存在 id重復(fù)問題。

    原因是構(gòu)造 IdWorker 時(shí) workerId,datacenterId,sequence 都為同一個(gè)字符串的原因,IdWorker 生成的 隨機(jī)id 是依賴這三個(gè)參數(shù)。

    所以不同服務(wù)根據(jù)當(dāng)前機(jī)器ip、mac 等參數(shù)動(dòng)態(tài)生成就好了

最后,經(jīng)過如上的修改之后,公司的全鏈路日志追蹤就好了。

http://www.risenshineclean.com/news/8154.html

相關(guān)文章:

  • 114做網(wǎng)站詐騙搜狗網(wǎng)站提交入口
  • 專業(yè)網(wǎng)站開發(fā)哪家公司好深圳百度推廣聯(lián)系方式
  • 微網(wǎng)站模板 php2024年最新時(shí)事新聞
  • 云南找工作靠譜的網(wǎng)站shopify seo
  • vip視頻解析網(wǎng)站建設(shè)北京seo公司網(wǎng)站
  • 想把自己做的網(wǎng)站放到網(wǎng)上軟件推廣方案經(jīng)典范文
  • 哪里有做企業(yè)網(wǎng)站的石家莊seo網(wǎng)站排名
  • 在百度怎么建立自己的網(wǎng)站嗎網(wǎng)站快速排名服務(wù)商
  • b2b網(wǎng)站平臺(tái)大全微信指數(shù)查詢
  • 如何查詢網(wǎng)站服務(wù)器地址慈溪seo
  • 安陽(yáng)做網(wǎng)站推廣最好的公司文案代寫收費(fèi)標(biāo)準(zhǔn)
  • 如何把自己做的網(wǎng)站 放在網(wǎng)上seo顧問阿亮
  • 自己做淘寶客網(wǎng)站嗎2023b站免費(fèi)推廣入口游戲
  • 品牌網(wǎng)站怎么做鄭州建網(wǎng)站的公司
  • 如今做哪些網(wǎng)站致富百度關(guān)鍵詞價(jià)格怎么查詢
  • 做移動(dòng)網(wǎng)站快速排名軟件seo變現(xiàn)培訓(xùn)
  • 沙河口網(wǎng)站建設(shè)競(jìng)價(jià)排名什么意思
  • 網(wǎng)站怎么做動(dòng)態(tài)切圖hs網(wǎng)站推廣
  • 鞍山云網(wǎng)站河南今日頭條新聞最新
  • 怎么把自己做的網(wǎng)站發(fā)布百度關(guān)鍵詞相關(guān)性優(yōu)化軟件
  • 如何利用谷歌云做自己的網(wǎng)站seo引擎優(yōu)化外包公司
  • 網(wǎng)站怎么做成app百度軟文
  • 做ps賺錢網(wǎng)站郭生b如何優(yōu)化網(wǎng)站
  • 丹江口網(wǎng)站開發(fā)口碑營(yíng)銷策略
  • 網(wǎng)站建設(shè)要學(xué)會(huì)什么軟件網(wǎng)絡(luò)推廣網(wǎng)站的方法
  • 常德本地網(wǎng)絡(luò)論壇南寧seo主管
  • 本地網(wǎng)站建設(shè)荊門網(wǎng)站seo
  • 旅游電子商務(wù)網(wǎng)站排名品牌策劃方案怎么寫
  • 網(wǎng)站打開出現(xiàn)建設(shè)中公關(guān)公司一般收費(fèi)標(biāo)準(zhǔn)
  • 淄博晨曦網(wǎng)站建設(shè)2023年新聞熱點(diǎn)事件