欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于Annotation使用的調(diào)用鏈的實(shí)現(xiàn)系統(tǒng)的制作方法

文檔序號(hào):12596701閱讀:587來源:國(guó)知局
基于Annotation使用的調(diào)用鏈的實(shí)現(xiàn)系統(tǒng)的制作方法與工藝

本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種基于Annotation使用的調(diào)用鏈的實(shí)現(xiàn)系統(tǒng)。



背景技術(shù):

由于電信系統(tǒng)的交易數(shù)據(jù)量非常龐大、應(yīng)用服務(wù)多且應(yīng)用服務(wù)大多采用集群部署方案,要將功能和服務(wù)有機(jī)結(jié)合,導(dǎo)致更加復(fù)雜的軟件棧組合。系統(tǒng)的復(fù)雜度因此提升。系統(tǒng)越復(fù)雜,越難解決問題,例如系統(tǒng)失敗或者性能問題。另一個(gè)問題是僅僅分析單個(gè)組件很難看到大局,當(dāng)發(fā)生一個(gè)低可見度的問題時(shí),系統(tǒng)復(fù)雜度越高,就需要更長(zhǎng)的時(shí)間來查找原因。最糟糕的是,某些情況下甚至可能無法查找出來。



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

本發(fā)明的目的是為了克服現(xiàn)有技術(shù)的缺陷,提供一種基于Annotation使用的調(diào)用鏈的實(shí)現(xiàn)系統(tǒng),從而實(shí)現(xiàn)對(duì)N層架構(gòu)以及集群部署的應(yīng)用服務(wù)間的調(diào)用事務(wù)追蹤并形成調(diào)用鏈信息快捷定位性能瓶頸以及錯(cuò)誤環(huán)節(jié)詳情。

為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種基于Annotation使用的調(diào)用鏈的實(shí)現(xiàn)系統(tǒng),該系統(tǒng)包括應(yīng)用容器層、信息傳輸層、信息存儲(chǔ)層、信息處理層、信息展現(xiàn)層;其中,

應(yīng)用容器層:對(duì)象為應(yīng)用部署所在的容器,通過代理模塊采用java agent方式生成服務(wù)調(diào)用的調(diào)用鏈等信息,并由代理模塊將生成的調(diào)用鏈信息發(fā)送消息隊(duì)列。

信息傳輸層:包括消息隊(duì)列和收集器;其采用消息隊(duì)列來接收代理模塊發(fā)送的調(diào)用鏈等信息,收集器從消息隊(duì)列中獲取數(shù)據(jù)并進(jìn)行持久化到存儲(chǔ)介質(zhì)。

信息存儲(chǔ)層:即存儲(chǔ)介質(zhì),用來集中存儲(chǔ)從各個(gè)應(yīng)用收集的調(diào)用鏈等信息。

信息處理層:包括分析器、預(yù)處理和告警;其中,

分析器,其從存儲(chǔ)介質(zhì)或者消息隊(duì)列拿取調(diào)用鏈等信息進(jìn)行信息篩選分類,能夠同時(shí)觸發(fā)告警。

預(yù)處理,其通過對(duì)分析后的數(shù)據(jù)進(jìn)行預(yù)處理得到各個(gè)維度的可用數(shù)據(jù)結(jié)構(gòu),能夠同時(shí)觸發(fā)告警。

告警,其采用腳本方式結(jié)合系統(tǒng)數(shù)據(jù)進(jìn)行動(dòng)態(tài)告警觸發(fā)設(shè)置并執(zhí)行告警。

信息展現(xiàn)層:以友好直觀的UI展現(xiàn)系統(tǒng)各維度的調(diào)用以及性能信息。

進(jìn)一步地,該系統(tǒng)為一個(gè)大型分布式系統(tǒng)服務(wù)的n層架構(gòu)跟蹤平臺(tái)。

進(jìn)一步地,該系統(tǒng)跟蹤單次請(qǐng)求調(diào)用中的分布式請(qǐng)求,基于google Dapper,跟蹤數(shù)據(jù)的核心數(shù)據(jù)結(jié)構(gòu)TraceHeader由SpanId,ParentSpanId,和TraceId以及其他信息組層。

進(jìn)一步地,該系統(tǒng)提供注解方式的調(diào)用鏈標(biāo)記,在系統(tǒng)運(yùn)行期間精確的對(duì)單次事務(wù)請(qǐng)求添加過注解的方法生成跟蹤信息。

進(jìn)一步地,該系統(tǒng)采用字節(jié)碼增強(qiáng)技術(shù)干預(yù)發(fā)起RPC的代碼以此來自動(dòng)處理標(biāo)簽信息,在類裝載時(shí)通過介入應(yīng)用代碼為分布式調(diào)用和性能信息注入必要的跟蹤代碼來傳輸跟蹤信息。

進(jìn)一步地,該系統(tǒng)采用插件的方式對(duì)主流RPC框架進(jìn)行封裝,屏蔽各個(gè)RPC框架對(duì)TraceHeader信息的載入和提取。

本發(fā)明技術(shù)方案帶來的有益效果:

第一,采用本發(fā)明,能夠?qū)崿F(xiàn)對(duì)N層架構(gòu)以及集群部署的應(yīng)用服務(wù)間的調(diào)用事務(wù)追蹤并形成調(diào)用鏈信息快捷定位性能瓶頸以及錯(cuò)誤環(huán)節(jié)詳情。

第二,通過本發(fā)明agent方式能夠無侵入的加入調(diào)用鏈追蹤能力。

第三,通過本發(fā)明注解方式的引入能夠精確的采集分布式請(qǐng)求中某層方法的調(diào)用信息追蹤。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其它的附圖。

圖1是本發(fā)明的系統(tǒng)結(jié)構(gòu)圖;

圖2是本發(fā)明的TraceId行為調(diào)用示意圖。

具體實(shí)施方式

下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

如圖1所示為本發(fā)明系統(tǒng)的整體結(jié)構(gòu)圖。

整個(gè)結(jié)構(gòu)分為五層結(jié)構(gòu):應(yīng)用容器層、信息傳輸層、信息存儲(chǔ)層、信息處理層、信息展現(xiàn)層。

應(yīng)用容器層:對(duì)象為應(yīng)用部署所在的容器,通過代理模塊采用java agent方式生成服務(wù)調(diào)用的調(diào)用鏈等信息,并由代理模塊將生成的調(diào)用鏈信息發(fā)送消息隊(duì)列。

信息傳輸層:包括消息隊(duì)列和收集器。其采用消息隊(duì)列來接收代理模塊發(fā)送的調(diào)用鏈等信息,收集器從消息隊(duì)列中獲取數(shù)據(jù)并進(jìn)行持久化到存儲(chǔ)介質(zhì)。

信息存儲(chǔ)層:即存儲(chǔ)介質(zhì),用來集中存儲(chǔ)從各個(gè)應(yīng)用收集的調(diào)用鏈等信息。

信息處理層:包括分析器、預(yù)處理和告警。

其中,分析器從存儲(chǔ)介質(zhì)或者消息隊(duì)列拿取調(diào)用鏈等信息進(jìn)行信息篩選分類,能夠同時(shí)觸發(fā)告警。

預(yù)處理通過對(duì)分析后的數(shù)據(jù)進(jìn)行預(yù)處理得到各個(gè)維度的可用數(shù)據(jù)結(jié)構(gòu),能夠同時(shí)觸發(fā)告警。

告警,其采用腳本方式結(jié)合系統(tǒng)數(shù)據(jù)進(jìn)行動(dòng)態(tài)告警觸發(fā)設(shè)置并執(zhí)行告警。

信息展現(xiàn)層:以友好直觀的UI展現(xiàn)系統(tǒng)各維度的調(diào)用以及性能信息。

基于Annotation使用的調(diào)用鏈的實(shí)現(xiàn)系統(tǒng),其為一個(gè)為大型分布式系統(tǒng)服務(wù)的n層架構(gòu)跟蹤平臺(tái)。其跟蹤單次請(qǐng)求調(diào)用中的分布式請(qǐng)求,基于google Dapper,跟蹤數(shù)據(jù)的核心數(shù)據(jù)結(jié)構(gòu)TraceHeader,由SpanId,ParentSpanId,和TraceId以及其他信息組成。如圖2所示為本發(fā)明的TraceId行為調(diào)用示意圖,在4個(gè)節(jié)點(diǎn)之間執(zhí)行了3次的RPC調(diào)用。

SpanId:RPC(遠(yuǎn)程過程調(diào)用/remote procedure call)跟蹤的基本單元;當(dāng)收到RPC消息時(shí)處理的工作的ID;在RPC請(qǐng)求到達(dá)節(jié)點(diǎn)時(shí)生成。

ParentSpanId:發(fā)起RPC調(diào)用的父span的SpanId。如果節(jié)點(diǎn)是分布式請(qǐng)求的起點(diǎn),這里將沒有父span-對(duì)于這種情況,使用值-1來表示這個(gè)span是事務(wù)的根span。

TraceId:在分布式系統(tǒng)間單個(gè)分布式請(qǐng)求發(fā)送/接收的消息的ID;必須跨整個(gè)服務(wù)器集群做到全局唯一。

TraceHeader在分布式請(qǐng)求的每個(gè)節(jié)點(diǎn)通過采集執(zhí)行執(zhí)行時(shí)間(執(zhí)行開始時(shí)間-執(zhí)行結(jié)束時(shí)間)、當(dāng)前節(jié)點(diǎn)服務(wù)器信息、節(jié)點(diǎn)實(shí)例信息、出入?yún)ⅰ惓6褩5取?/p>

本系統(tǒng)提供注解方式的調(diào)用鏈標(biāo)記,在系統(tǒng)運(yùn)行期間精確的對(duì)單次事務(wù)請(qǐng)求添加過注解的方法生成跟蹤信息。

本系統(tǒng)采用字節(jié)碼增強(qiáng)技術(shù)干預(yù)發(fā)起RPC的代碼以此來自動(dòng)處理標(biāo)簽信息,在類裝載時(shí)通過介入應(yīng)用代碼為分布式調(diào)用和性能信息注入必要的跟蹤代碼來傳輸跟蹤信息。

本系統(tǒng)采用插件的方式對(duì)主流RPC框架進(jìn)行封裝,屏蔽各個(gè)RPC框架對(duì)TraceHeader信息的載入和提取。

以上對(duì)本發(fā)明實(shí)施例進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
古蔺县| 天台县| 枣强县| 宿松县| 定安县| 滦南县| 文昌市| 铜鼓县| 阜康市| 玉田县| 巫溪县| 彩票| 开远市| 江西省| 本溪| 汕头市| 中西区| 措美县| 利辛县| 德庆县| 安泽县| 大冶市| 六枝特区| 余姚市| 会昌县| 衡阳市| 青海省| 蓝田县| 宿州市| 增城市| 穆棱市| 鄯善县| 伊通| 陆河县| 广西| 莫力| 仲巴县| 新干县| 宣化县| 陇川县| 鄄城县|