【摘 要】應(yīng)用于微服務(wù)的傳統(tǒng)工作系統(tǒng),因維修成本大、延展性不足、系統(tǒng)狀態(tài)不穩(wěn)固等諸多問題,已不能適應(yīng)網(wǎng)絡(luò)云技術(shù)飛速發(fā)展的要求。本文以一種面向微服務(wù)的通用考核系統(tǒng)為例子,提出了以Spring Cloud框架為模板、按照服務(wù)分類將系統(tǒng)功能組件化的設(shè)計理念,并詳細(xì)論述了該系統(tǒng)的應(yīng)用可行性,旨在有效提高微服務(wù)應(yīng)機(jī)性及其自身安全穩(wěn)定性的現(xiàn)實(shí)途徑,進(jìn)行研究探討和大膽嘗試,為推動微服務(wù)更加快捷高效提供有益參考。
【關(guān)鍵詞】網(wǎng)絡(luò)云;微服務(wù);通用考核;功能組件;安全穩(wěn)定
伴隨著網(wǎng)絡(luò)云技術(shù)的飛速發(fā)展,社會各行業(yè)各領(lǐng)域的工作日趨復(fù)雜、內(nèi)容不斷增多,過去的單體應(yīng)用系統(tǒng)因維修成本大、延展性不足、系統(tǒng)狀態(tài)不穩(wěn)固等諸多問題,逐漸不能 適應(yīng)互聯(lián)網(wǎng)時代的高效率、快反應(yīng)和持續(xù)強(qiáng)的需求,即便傳統(tǒng)的集成軟件系統(tǒng)在實(shí)踐中也逐漸被淘汰使用。近年來,一種最新設(shè)計開發(fā)的、以達(dá)成組件化為目標(biāo)的系統(tǒng),正在逐步替代傳統(tǒng)系統(tǒng)軟件,并在將來有全面普及的趨勢。這種系統(tǒng)的各個服務(wù)組件之間采取協(xié)議的形式展開通信,同時各個服務(wù)組件也可以獨(dú)立運(yùn)行、維護(hù),以此實(shí)現(xiàn)系統(tǒng)的整體功能。本文以用于微服務(wù)的通用考核系統(tǒng)為例予以介紹。
1微服務(wù)概況
1.1技術(shù)原理
Spring Cloud微服務(wù),以一種最新開發(fā)的基于服務(wù)架構(gòu)模式的系列框架組合,它可以為應(yīng)用者提供注冊搜索、相似匹配、控制、代理等分布式功能服務(wù)。與傳統(tǒng)方式相比,它獨(dú)立性強(qiáng)、依賴性少,運(yùn)行靈活輕便,適用面廣,因此具有更強(qiáng)大的普及型。
1.2 構(gòu)成組件
Spring Cloud是一系列微服務(wù)架構(gòu)的組合,集成了相關(guān)服務(wù)功能的組件。根據(jù)各自擔(dān)負(fù)的功能,可以分為以下五種:
1.具有服務(wù)注冊功能的組件,主要是用于注冊功能的服務(wù)器和客戶端。
2.具有入網(wǎng)關(guān)口功能的組件,主要是負(fù)責(zé)路由的服務(wù)、分發(fā)請求。
3.具有斷路服務(wù)功能的組件,主要是負(fù)責(zé)及時處理故障,防止系統(tǒng)崩潰。
4.具有算法服務(wù)功能的組件,主要是為客戶提供軟件負(fù)載算法。
5.具有配置調(diào)度功能的組件,主要是對數(shù)據(jù)信息進(jìn)行統(tǒng)一調(diào)配。
2通用考核系統(tǒng)簡介
2.1設(shè)計考慮
通用考核系統(tǒng),顧名思義,其功能就是用于考核管理,以促使考核更加規(guī)范化。它按照服務(wù)功能將整體進(jìn)行組件化,也就是將綜合功能劃分為若干個小功能,即化整為零。這些小組件既能通過協(xié)議形式協(xié)作運(yùn)行,也可以圍繞著各自功能獨(dú)立運(yùn)行。該系統(tǒng)最大的亮點(diǎn),就是在出現(xiàn)海量訪問等突發(fā)情況時,它能夠妥善應(yīng)對并很好地發(fā)揮系統(tǒng)的延展性,使系統(tǒng)保持高度的平穩(wěn)和安全。
2.2系統(tǒng)組成
該系統(tǒng)能夠同時提供多種功能與服務(wù),比如考試題庫、考試流程、考試分?jǐn)?shù)、報名登錄等等,同時它還能進(jìn)行數(shù)據(jù)分析,提供多項可供參考的結(jié)論。具體來說,分為以下組成部分:
3 基于Spring Cloud的通用考核系統(tǒng)的建立和運(yùn)用
其實(shí),這種面向微服務(wù)的通用考核系統(tǒng),就是要以Spring Cloud微服務(wù)的組件劃分框架為模板,建立一個能夠調(diào)用若干組件服務(wù)的系統(tǒng)。該系統(tǒng)的詳細(xì)的業(yè)務(wù)全過程為:
3.1 系統(tǒng)主要功能的實(shí)現(xiàn)
3.1.1注冊和發(fā)現(xiàn)功能的實(shí)現(xiàn)
發(fā)揮作用的系統(tǒng)的注冊和發(fā)現(xiàn)組件,可以分為兩個組成部分,其中,具有發(fā)現(xiàn)功能的部分可以給微服務(wù)完成注冊服務(wù),并定期接收微服務(wù)發(fā)來的動態(tài)信息,同時能夠設(shè)定在超過某個時長接收不到信息后注銷發(fā)送對象;另外一個部分與外部客戶端功能相當(dāng),它可以調(diào)取注冊部分的服務(wù)信息。
3.1.2負(fù)載和容錯功能的實(shí)現(xiàn)
大數(shù)據(jù)時代對微服務(wù)提出了更高的要求。微服務(wù)每一個處理運(yùn)行都需要多組組件的同時參與配合,而且這些組件之間相互依賴性越來越強(qiáng),如果其中的一個組件發(fā)生故障,就會出現(xiàn)其他組件的連鎖反應(yīng),即通常所說的網(wǎng)絡(luò)服務(wù)癱瘓的問題。假設(shè)出現(xiàn)同時在線訪問人數(shù)驟增時,就會導(dǎo)致微服務(wù)反應(yīng)遲鈍,一旦訪問數(shù)量再次驟增,該系統(tǒng)對繼續(xù)增加的訪問請求不能處理,最終致使該系統(tǒng)死機(jī)、服務(wù)停止。因此,上述功能就是要提高面對多個服務(wù)請求同時發(fā)生時的應(yīng)急機(jī)動能力,以及對外部服務(wù)請求響應(yīng)不及時的狀態(tài)下設(shè)置隔離、啟動切斷,使系統(tǒng)能夠持續(xù)保持穩(wěn)定狀態(tài)。
3.1.3服務(wù)網(wǎng)絡(luò)關(guān)口管控功能的實(shí)現(xiàn)
微服務(wù)的網(wǎng)絡(luò)關(guān)口管控,就是關(guān)閉每個組件的對外鏈接,在外部客戶與微服務(wù)系統(tǒng)本體中間設(shè)置一道屏蔽層,使外部客戶不必直接訪問微服務(wù),而只要與網(wǎng)絡(luò)關(guān)口之間發(fā)生聯(lián)系。同時,網(wǎng)絡(luò)關(guān)口管控還能完成統(tǒng)一認(rèn)證、監(jiān)控調(diào)用等服務(wù)工作。。
3.2運(yùn)用效果
實(shí)踐中發(fā)現(xiàn),采取組件組合的模式,有效解決了傳統(tǒng)工作系統(tǒng)單個服務(wù)組件無法解決的絕大多數(shù)問題。即便傳統(tǒng)的工作系統(tǒng)的集合,其所有組成組件也是通過服務(wù)訪問路由集中發(fā)送的,如果出現(xiàn)同時在線訪問量過大時,這種方式就成為了制約系統(tǒng)運(yùn)行的詬病。通過組件集合的方式,設(shè)置多個渠道途徑,并各自注冊信息,有效解決了網(wǎng)絡(luò)服務(wù)關(guān)口管控的問題,提高了系統(tǒng)的靈活度和適應(yīng)性。
采用Spring Cloud架構(gòu)的通用考核系統(tǒng),有效克服和解決了傳統(tǒng)工作系統(tǒng)在實(shí)踐應(yīng)用中的不足和缺陷,極大地提升了微服務(wù)的內(nèi)容延展性、服務(wù)快捷性、維護(hù)方便性和系統(tǒng)可靠性,使其能輕松穩(wěn)妥地應(yīng)對同時在線訪問數(shù)量驟增等突發(fā)情況,滿足了大數(shù)據(jù)時代對微服務(wù)的更高效更嚴(yán)格的要求,在現(xiàn)實(shí)中具有廣泛的適應(yīng)性和推廣性。
參考文獻(xiàn):
[1]羅光峰,陳慧光,徐洪磊.面向新架構(gòu)的流量調(diào)度系統(tǒng)研究與設(shè)計[J].2017(3):10-12.
[2]楊朝暉,李飛,付永振.微服務(wù)編排在網(wǎng)管支撐系統(tǒng)中的研究與應(yīng)用[J].電信工程技術(shù)與標(biāo)準(zhǔn)化,2019(6):31-36.
[3]黃有福,龔靜嫻.基于高職院校的微服務(wù)應(yīng)用探索[J].教育信息技術(shù),2017(12):20-22.
[4]殷佳玲,夏帆,顧航,et al.基于微服務(wù)的研究生培養(yǎng)系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].華東師范大學(xué)學(xué)報(自然科學(xué)版),2019,2019(4):83-96.
作者簡介:
梁純,女,漢族,1979年12月湖北武漢人,計算機(jī)碩士,講師,研究方向:軟件設(shè)計,面向微服務(wù)架構(gòu)。
(作者單位:武漢晴川學(xué)院)