基于事件驅動的運維管理和服務注冊系統(tǒng)的設計與實現(xiàn)
發(fā)布時間:2021-07-09 18:50
在字節(jié)跳動公司搜索系統(tǒng)中,分布式搜索檢索(Search Retrieval)服務是其用于獲取搜索查詢結果的子系統(tǒng)。為了保證檢索服務的穩(wěn)定運行,以及上下游服務能夠正確找到其服務實例,開發(fā)及運維人員需要一套與業(yè)務邏輯耦合度較低的運維管理系統(tǒng),為其提供運維支持和服務治理功能。因此,運維管理系統(tǒng)需要在盡量不入侵業(yè)務代碼的情況下接入系統(tǒng)完成運維操作,并為業(yè)務服務提供準確的元信息描述。鑒于此,本文以事件(Event)表示業(yè)務系統(tǒng)狀態(tài)發(fā)生變化時,系統(tǒng)或運維人員發(fā)出的通知,提出采用基于事件驅動(Event-Driven)架構模式進行系統(tǒng)的架構設計。各類事件所攜帶的不同參數(shù)及其值表示相應運維任務涉及的目標和具體操作,由系統(tǒng)內各個功能模塊完成事件的發(fā)送、接收和處理,進而執(zhí)行用戶所需的各類運維操作。通過事件攜帶命令和參數(shù)進行運維系統(tǒng)和業(yè)務系統(tǒng)之間的通信,期望能夠在為業(yè)務系統(tǒng)提供運維支持的同時降低二者的耦合,減少運維系統(tǒng)接入業(yè)務所需的成本。同時,為業(yè)務運行時所涉及包括集群、數(shù)據集合和服務實例在內各個實體,系統(tǒng)維護能夠準確描述業(yè)務服務實例當前狀態(tài)信息的元數(shù)據,幫助業(yè)務系統(tǒng)完成服務注冊。系統(tǒng)主體采用Python2...
【文章來源】:南京大學江蘇省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:84 頁
【學位級別】:碩士
【部分圖文】:
圖2.1:調度拓撲的事件驅動模式架構圖??
裝了應用的業(yè)務邏輯,接受處理事件并執(zhí)行特定任務。??代理拓撲沒有中心事件調度模塊,適用于處理簡單的事件流程,其典型的??系統(tǒng)架構如圖2.2所示。系統(tǒng)中只有兩類組件,分別是組織成鏈式結構的事件中??通道及各個事件處理模塊。其中,每個事件處理器都負責處理并發(fā)時間并發(fā)布??交由其他處理模塊接收的新事件。??事件處理模塊??(事件麵??-〇〔了-模塊)〔了’塊〕??廠(子模塊)(子模塊)????(mnmm?()?1==^??in牛處理模塊?事件處理模塊??(555?〇-(事?ffii?道(1??(子模塊)f子模塊)?廠[子模塊)(子模塊)??(事件通道D??事件處理模塊?事件處理模塊??<3-*??〔子機)〇—〇?-〇?(事件通道u?%?(子模塊)〇模塊)??(子模塊)[子模塊)?(755)[子模塊)??圖2.2:代理拓撲的事件驅動模式架構圖??總的來說,采用事件驅動架構設計的系統(tǒng)具備快速響應環(huán)境變化的能力。??由于系統(tǒng)中負責執(zhí)行業(yè)務邏輯的事件處理模塊由一系列功能單一,相互獨立的??組件組成,相互之間通過事件消息的傳遞而聯(lián)系,因此個別事件處理模塊的修??改不會影響其他模塊,且每個事件處理模塊都具備單獨擴展的能力,能夠在更??加細粒度的維度上實現(xiàn)系統(tǒng)的擴展,己經受到廣泛的應用。楊志義等提出一種??面向服務的事件驅動架構(Service?Oriented?Event?Driven?Architecture,SOEDA)??具備較好的互操作性和較高的軟件如用能力
圖3.8:運維任務狀態(tài)轉換圖??系統(tǒng)由事件總線中提交的任務和各個任務的狀態(tài)變遷驅動。任務的各個狀??態(tài)及其相互轉換如圖3.8所示。??當一個任務首次被提交時,可能是已提交(SUBMITTED)、阻塞(PENDING)??或是調度中(SCHEDULING)中的一種。若任務設定了開始時間則其被提交為??調度中的狀態(tài),當?shù)竭_任務指定的幵始時間后變更為已提交狀態(tài)等待下一步調??度。若任務提交時指定了其需要依賴的任務,則被提交為阻塞狀態(tài)等待,當其??依賴的任務都結束后會轉變?yōu)榧禾峤坏却{度,或是轉變?yōu)閺U棄(ABORT)狀??態(tài)終止該任務。??已提交是任務提交的缺省狀態(tài),調度模塊會在此進行該運維操作的約束檢??查,通過所有約束檢查的任務狀態(tài)將變更為可運行(RUNNABLE),否則會被??執(zhí)為己取消(CANCELED),結束該任務。??狀態(tài)為可運行的任務會由負責該任務的相應插件
【參考文獻】:
期刊論文
[1]一種云計算時代的DevOps自動化運維平臺[J]. 樊煉,廖振松. 電信工程技術與標準化. 2018(11)
[2]自動化運維管理平臺設計及實現(xiàn)[J]. 冷迪. 技術與市場. 2018(11)
[3]插件技術、分層技術應用于計算機軟件技術中的價值探討[J]. 曹華珠. 信息與電腦(理論版). 2018(15)
[4]大數(shù)據智能運維系統(tǒng)設計及應用[J]. 毛開梅. 電子測試. 2018(14)
[5]基于插件技術的軟件架構設計及應用[J]. 侯聰聰. 電子技術與軟件工程. 2018(11)
[6]淺析RAFT分布式算法[J]. 魯子元. 信息技術. 2017(09)
[7]基于事件驅動CPS體系架構的層級模型[J]. 趙新,尹忠海,周誠,劉斌,李明杰. 計算機工程. 2018(04)
[8]基于Zookeeper框架實現(xiàn)MySQL分布式數(shù)據庫集群[J]. 張旭剛,李東輝,俞俊,朱廣新,鄭磊. 計算機與數(shù)字工程. 2016(09)
[9]基于Zookeeper綜合任務調度平臺的設計與應用[J]. 王文峰,袁慶祝,陸佃龍. 信息技術. 2016(06)
[10]使用插件技術架構業(yè)務型應用軟件[J]. 王興會,邢藝蘭,李建義. 北華航天工業(yè)學院學報. 2016(01)
本文編號:3274295
【文章來源】:南京大學江蘇省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:84 頁
【學位級別】:碩士
【部分圖文】:
圖2.1:調度拓撲的事件驅動模式架構圖??
裝了應用的業(yè)務邏輯,接受處理事件并執(zhí)行特定任務。??代理拓撲沒有中心事件調度模塊,適用于處理簡單的事件流程,其典型的??系統(tǒng)架構如圖2.2所示。系統(tǒng)中只有兩類組件,分別是組織成鏈式結構的事件中??通道及各個事件處理模塊。其中,每個事件處理器都負責處理并發(fā)時間并發(fā)布??交由其他處理模塊接收的新事件。??事件處理模塊??(事件麵??-〇〔了-模塊)〔了’塊〕??廠(子模塊)(子模塊)????(mnmm?()?1==^??in牛處理模塊?事件處理模塊??(555?〇-(事?ffii?道(1??(子模塊)f子模塊)?廠[子模塊)(子模塊)??(事件通道D??事件處理模塊?事件處理模塊??<3-*??〔子機)〇—〇?-〇?(事件通道u?%?(子模塊)〇模塊)??(子模塊)[子模塊)?(755)[子模塊)??圖2.2:代理拓撲的事件驅動模式架構圖??總的來說,采用事件驅動架構設計的系統(tǒng)具備快速響應環(huán)境變化的能力。??由于系統(tǒng)中負責執(zhí)行業(yè)務邏輯的事件處理模塊由一系列功能單一,相互獨立的??組件組成,相互之間通過事件消息的傳遞而聯(lián)系,因此個別事件處理模塊的修??改不會影響其他模塊,且每個事件處理模塊都具備單獨擴展的能力,能夠在更??加細粒度的維度上實現(xiàn)系統(tǒng)的擴展,己經受到廣泛的應用。楊志義等提出一種??面向服務的事件驅動架構(Service?Oriented?Event?Driven?Architecture,SOEDA)??具備較好的互操作性和較高的軟件如用能力
圖3.8:運維任務狀態(tài)轉換圖??系統(tǒng)由事件總線中提交的任務和各個任務的狀態(tài)變遷驅動。任務的各個狀??態(tài)及其相互轉換如圖3.8所示。??當一個任務首次被提交時,可能是已提交(SUBMITTED)、阻塞(PENDING)??或是調度中(SCHEDULING)中的一種。若任務設定了開始時間則其被提交為??調度中的狀態(tài),當?shù)竭_任務指定的幵始時間后變更為已提交狀態(tài)等待下一步調??度。若任務提交時指定了其需要依賴的任務,則被提交為阻塞狀態(tài)等待,當其??依賴的任務都結束后會轉變?yōu)榧禾峤坏却{度,或是轉變?yōu)閺U棄(ABORT)狀??態(tài)終止該任務。??已提交是任務提交的缺省狀態(tài),調度模塊會在此進行該運維操作的約束檢??查,通過所有約束檢查的任務狀態(tài)將變更為可運行(RUNNABLE),否則會被??執(zhí)為己取消(CANCELED),結束該任務。??狀態(tài)為可運行的任務會由負責該任務的相應插件
【參考文獻】:
期刊論文
[1]一種云計算時代的DevOps自動化運維平臺[J]. 樊煉,廖振松. 電信工程技術與標準化. 2018(11)
[2]自動化運維管理平臺設計及實現(xiàn)[J]. 冷迪. 技術與市場. 2018(11)
[3]插件技術、分層技術應用于計算機軟件技術中的價值探討[J]. 曹華珠. 信息與電腦(理論版). 2018(15)
[4]大數(shù)據智能運維系統(tǒng)設計及應用[J]. 毛開梅. 電子測試. 2018(14)
[5]基于插件技術的軟件架構設計及應用[J]. 侯聰聰. 電子技術與軟件工程. 2018(11)
[6]淺析RAFT分布式算法[J]. 魯子元. 信息技術. 2017(09)
[7]基于事件驅動CPS體系架構的層級模型[J]. 趙新,尹忠海,周誠,劉斌,李明杰. 計算機工程. 2018(04)
[8]基于Zookeeper框架實現(xiàn)MySQL分布式數(shù)據庫集群[J]. 張旭剛,李東輝,俞俊,朱廣新,鄭磊. 計算機與數(shù)字工程. 2016(09)
[9]基于Zookeeper綜合任務調度平臺的設計與應用[J]. 王文峰,袁慶祝,陸佃龍. 信息技術. 2016(06)
[10]使用插件技術架構業(yè)務型應用軟件[J]. 王興會,邢藝蘭,李建義. 北華航天工業(yè)學院學報. 2016(01)
本文編號:3274295
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/3274295.html
最近更新
教材專著