亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種調(diào)用鏈跟蹤方法與流程

文檔序號:12123549閱讀:1070來源:國知局
一種調(diào)用鏈跟蹤方法與流程

本發(fā)明涉及一種調(diào)用鏈跟蹤方法。



背景技術(shù):

當(dāng)前機票應(yīng)用服務(wù)系統(tǒng)包含很多子系統(tǒng),客戶端發(fā)起一次查詢請求或者下單請求,會通過很長的子系統(tǒng)鏈路,每個環(huán)節(jié)都有可能出現(xiàn)問題,而每個子系統(tǒng)直接提供的服務(wù)是相互隔離的,監(jiān)控日志也是互相沒有交集,同時每個子系統(tǒng)每天都會產(chǎn)生幾百G的日志量。因此,一旦客戶端發(fā)起的請求系統(tǒng)響應(yīng)異?;蛘叱瑫r,很難定位具體哪個環(huán)節(jié)出現(xiàn)問題。為了解決以上問題,現(xiàn)有技術(shù)采用的方案為:在幾個關(guān)鍵系統(tǒng)部署大量監(jiān)控日志,如果某個用戶發(fā)起的請求系統(tǒng)響應(yīng)失敗,從各個關(guān)鍵系統(tǒng)的監(jiān)控日志尋找問題。然而,現(xiàn)有技術(shù)的方案存在以下幾個缺陷:

1.需要從各個系統(tǒng)去撈取監(jiān)控日志,而且這些日志無法有效地串聯(lián),各個子系統(tǒng)的監(jiān)控日志也沒有統(tǒng)一的標(biāo)準(zhǔn);

2.有些在用戶側(cè)產(chǎn)生的問題很難復(fù)現(xiàn);

3.各個子系統(tǒng)監(jiān)控曲線是正常的,但是某些用戶請求確實是有問題,找不到問題產(chǎn)生的真正原因。



技術(shù)實現(xiàn)要素:

發(fā)明目的:本發(fā)明的目的是提供一種能夠解決現(xiàn)有技術(shù)中存在的缺陷的調(diào)用鏈跟蹤方法。

技術(shù)方案:本發(fā)明所述的調(diào)用鏈跟蹤方法,包括以下步驟:

S1:客戶端發(fā)起請求;

S2:生成全局唯一的路徑ID,并加入到系統(tǒng)標(biāo)識中;

S3:在子系統(tǒng)內(nèi)部存儲該路徑ID;

S4:向下游子系統(tǒng)進行傳遞時,將路徑ID設(shè)置到Http Request Header中,并加入調(diào)用序號;

S5:下游子系統(tǒng)得到路徑ID,并封裝自己的系統(tǒng)標(biāo)識;

S6:如果沒有傳遞到最后一個下游子系統(tǒng),則返回步驟S4,直到傳遞到最后一個下游子系統(tǒng)才進行步驟S7;

S7:各個子系統(tǒng)在日志中打印當(dāng)前上下文的路徑ID,關(guān)聯(lián)異常堆棧日志;

S8:請求執(zhí)行完畢。

進一步,步驟S2中,所述路徑ID由在最外層服務(wù)端的攔截器通過統(tǒng)一的調(diào)用鏈中間件生成。

進一步,步驟S3中,所述子系統(tǒng)內(nèi)部使用Threadlocal存儲路徑ID。

進一步,步驟S5中,所述下游子系統(tǒng)使用統(tǒng)一的調(diào)用鏈中間件解析得到路徑ID。

有益效果:與現(xiàn)有技術(shù)相比,本發(fā)明具有如下的有益效果:

1.本發(fā)明能夠有效排查客戶端某頁面響應(yīng)慢或者報錯的原因,找到請求鏈路中的瓶頸點、故障點以及該次請求的異常日志;

2.本發(fā)明能夠驗證調(diào)用路徑是否符合預(yù)期,將數(shù)據(jù)建模,衡量在單元內(nèi)的路由正確性;

3.本發(fā)明能夠建立各個層次上的依賴的錯誤指標(biāo)和響應(yīng)時長指標(biāo),找出鏈路上的不正常的、多余的依賴調(diào)用。

附圖說明

圖1為本發(fā)明具體實施方式的方法流程圖;

圖2為本發(fā)明具體實施方式的方法示例圖。

具體實施方式

下面結(jié)合附圖和具體實施方式對本發(fā)明的技術(shù)方案作進一步的介紹。

本具體實施方式公開了一種調(diào)用鏈跟蹤方法,如圖1所示,包括以下步驟:

S1:客戶端發(fā)起請求;

S2:在最外層服務(wù)端的攔截器通過統(tǒng)一的調(diào)用鏈中間件生成全局唯一的路徑ID,并加入到系統(tǒng)標(biāo)識中;

S3:在子系統(tǒng)內(nèi)部使用Threadlocal存儲該路徑ID;

S4:向下游子系統(tǒng)進行傳遞時,將路徑ID設(shè)置到Http Request Header中,并加入調(diào)用序號;

S5:下游子系統(tǒng)使用統(tǒng)一的調(diào)用鏈中間件解析得到路徑ID,并封裝自己的系統(tǒng)標(biāo)識;

S6:如果沒有傳遞到最后一個下游子系統(tǒng),則返回步驟S4,直到傳遞到最后一個下游子系統(tǒng)才進行步驟S7;

S7:各個子系統(tǒng)在日志中打印當(dāng)前上下文的路徑ID,關(guān)聯(lián)異常堆棧日志;

S8:請求執(zhí)行完畢。

其中,客戶端包括網(wǎng)站、APP、M站中的一種或多種。

如圖2所示,每個系統(tǒng)都有自己的調(diào)用序號,被調(diào)用的系統(tǒng)會在自己接收到的序號后新增一個序號級別,以表示被調(diào)用。

通過以上方法,能夠輕松找出應(yīng)用的關(guān)鍵路徑,具體能夠?qū)崿F(xiàn)以下功能:

1.能夠知道應(yīng)用被調(diào)用得最多的入口、服務(wù)是哪些;

2.能夠找出性能瓶頸、易故障點、變化點;

3.能夠用于容量評估、性能優(yōu)化;

4.能夠大大促進鏈路監(jiān)控和高峰預(yù)警;

5.能夠衡量網(wǎng)絡(luò)調(diào)用的均衡性;

6.能夠衡量在單元內(nèi)的路由正確性。

以上調(diào)用鏈相關(guān)的服務(wù)(如日志打印、生成路徑ID、設(shè)置系統(tǒng)序號等)無需各個子系統(tǒng)大批量修改代碼,只需接入調(diào)用鏈跟蹤中間件即可。調(diào)用鏈中間件會封裝TSP-Client以及HTTP-Client,在各個應(yīng)用中加入攔截器,使用統(tǒng)一方式針對路徑ID進行封裝、存儲與下一步傳遞。

可以將業(yè)務(wù)信息與鏈路結(jié)合,使用會員id聯(lián)合路徑ID的方式,找到用戶關(guān)鍵的查詢、下單數(shù)據(jù),或者黃牛刷單的操作記錄,并將這些數(shù)據(jù)做消息發(fā)布,供各個系統(tǒng)(如風(fēng)控系統(tǒng))訂閱,進行風(fēng)險識別和控制。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1