張小琴 賈英新 鄭七凡
摘要:本文通過(guò)對(duì)微服務(wù)架構(gòu)的研究,分析了復(fù)雜服務(wù)軟件系統(tǒng)的建模以及微服務(wù)軟件開(kāi)發(fā)分析設(shè)計(jì),利用微服務(wù)的簡(jiǎn)易架構(gòu)進(jìn)行開(kāi)放平臺(tái)的設(shè)計(jì)與開(kāi)發(fā),能夠讓數(shù)據(jù)交流與傳輸效率更為高效,確保了信息傳送的高效性與開(kāi)放性。
關(guān)鍵詞:微服務(wù);軟件開(kāi)發(fā);方法;研究進(jìn)展
引言
微服務(wù)是SOA 架構(gòu)的一種變體,基于輕量級(jí)協(xié)議與細(xì)粒度服務(wù)進(jìn)行應(yīng)用程序構(gòu)造與軟件開(kāi)發(fā)設(shè)計(jì),可憑借其擴(kuò)展性優(yōu)勢(shì)進(jìn)行開(kāi)放平臺(tái)的部署,實(shí)現(xiàn)降低成本、縮短開(kāi)發(fā)周期的應(yīng)用效果。利用微服務(wù)的簡(jiǎn)易架構(gòu)進(jìn)行開(kāi)放平臺(tái)的設(shè)計(jì)與開(kāi)發(fā),能夠讓數(shù)據(jù)交流與傳輸效率更為高效,確保了信息傳送的高效性與開(kāi)放性。
一、微服務(wù)架構(gòu)
微服務(wù)架構(gòu)十分輕便小巧,運(yùn)行模式十分便捷。每個(gè)微服務(wù)獨(dú)立運(yùn)行安放,各自發(fā)揮自身的功能。每個(gè)微服務(wù)單獨(dú)實(shí)現(xiàn)對(duì)應(yīng)的功能,該功能是由微服務(wù)進(jìn)行封鎖包裝。技術(shù)路線選擇各異,進(jìn)行獨(dú)自更新。面對(duì)容量十分龐大,同一時(shí)間內(nèi)執(zhí)行多個(gè)程序的情況之下,此時(shí)微服務(wù)是不二選擇。面對(duì)開(kāi)發(fā)大型的系統(tǒng)時(shí),并且有著十分龐大的項(xiàng)目團(tuán)隊(duì),這時(shí)候就要浪費(fèi)大量的時(shí)間在更新軟件上,而且不能方便有效地維護(hù)系統(tǒng)等情況時(shí),微服務(wù)可以從根本上解決這些問(wèn)題。從而大大節(jié)約了時(shí)間,從而節(jié)約了物力人力,提高了工作效率,從而更好地將項(xiàng)目順利完成。
二、復(fù)雜服務(wù)軟件系統(tǒng)的建模
服務(wù)業(yè)務(wù)層主要是由服務(wù)消費(fèi)者,服務(wù)提供者,以及服務(wù)監(jiān)管者三部分組合而成的。Service Mesh 對(duì)服務(wù)實(shí)例所需的資源管理接口、消息路由接口、流控接口、監(jiān)控計(jì)量接口進(jìn)行打包和阻塞。 監(jiān)控日志和流量是每個(gè)微服務(wù)的強(qiáng)制性配置。感知、決斷、執(zhí)行的能力是適應(yīng)性軟件的基本能力,基于Service Mesh 的自適應(yīng)軟件框架是具有以上功能的。
三、微服務(wù)軟件開(kāi)發(fā)分析設(shè)計(jì)
1.分析設(shè)計(jì)階段
1.1服務(wù)需求建模
服務(wù)需求建模的目的是創(chuàng)建一個(gè)描述復(fù)雜服務(wù)軟件系統(tǒng)的多代理循環(huán)模型,以描述復(fù)雜服務(wù)系統(tǒng)中所涉及的代理與其他代理之間的有效流量。其中包含了一些非常紛繁復(fù)雜的社會(huì)性質(zhì)先關(guān)系統(tǒng)技術(shù)。對(duì)主要的業(yè)務(wù)指標(biāo)群集進(jìn)行有效定義。在處理Agent 時(shí),可以根據(jù)BPMN的原則來(lái)進(jìn)行有效設(shè)計(jì)系統(tǒng),定對(duì)Agent 功能來(lái)進(jìn)行有效定義,確保Agent的服務(wù)和QoS加以規(guī)范化。
1.2服務(wù)語(yǔ)義建模
在面對(duì)大規(guī)模、多樣化、關(guān)系復(fù)雜的服務(wù)元數(shù)據(jù)時(shí),可以采用服務(wù)語(yǔ)義建模,其精準(zhǔn)度高,而且能夠十分高效地表示建模服務(wù)語(yǔ)義,從而更好支持智能服務(wù)的應(yīng)用與匹配。
1.3服務(wù)適配組合
其具體包括以下研究?jī)?nèi)容:
服務(wù)智能組合功能需要通過(guò)構(gòu)造語(yǔ)義驅(qū)動(dòng)來(lái)實(shí)現(xiàn),微服務(wù)的語(yǔ)義聚類是由微服務(wù)的語(yǔ)義畫(huà)像來(lái)完成的。遵照 BPMN程序的基本特性,從而尋找到與微服務(wù)語(yǔ)義契合的群集。尋找一些在語(yǔ)言結(jié)構(gòu)以及特點(diǎn)上具有相似性質(zhì)的微服務(wù)集合??茖W(xué)有效地對(duì)服務(wù)主體的建模進(jìn)行支撐。最終讓開(kāi)發(fā)軟件的工作人員完成BPMN程序到微服務(wù)程序的映射。
1.4交付更新階段
構(gòu)成智能化、有效性,精準(zhǔn)的服務(wù)代碼以及托付整個(gè)演變過(guò)程。完成審計(jì)繁瑣的服務(wù)演變流程是交付更新的首要任務(wù)。
(1)持續(xù)集成。最具有代表性的連續(xù)性集成工具有Git LabCI1)是 Git Lab 內(nèi)置的持續(xù)集成工具,通過(guò)創(chuàng)建CI配置文件在倉(cāng)庫(kù)的根目錄下,將 build組件Git Lab Run- ner進(jìn)行配置,從而實(shí)現(xiàn)了無(wú)論在何種場(chǎng)景下都能夠?qū)崿F(xiàn)自動(dòng)構(gòu)建功能。
(2)持續(xù)部署。它是基于容器鏡像庫(kù)的持續(xù)部署的一個(gè)關(guān)鍵特性, Ar-go CD2,最具代表性的持續(xù)部署工具,是基于聲明式Git Ops概念的持續(xù)部署工具。還能夠科學(xué)有效地控制版本,其具有完全自動(dòng)化以及可審計(jì)的應(yīng)用部署和生命周期。
四、未來(lái)研究方向
為了能夠讓微服務(wù)軟件設(shè)計(jì)能夠有效實(shí)現(xiàn),業(yè)界已經(jīng)開(kāi)發(fā)了微服務(wù)框架(Spring Cloud 等)和開(kāi)源解決方案(Netlix 開(kāi)源組件、服務(wù)網(wǎng)格、Istio),并且大大得到普及,在整個(gè)學(xué)術(shù)界也有相關(guān)的專業(yè)人士表述了關(guān)于如何實(shí)現(xiàn)面向微服務(wù)軟件設(shè)計(jì)的方式方法。但是同時(shí)需要對(duì)其進(jìn)行有效驗(yàn)證,看它是否具備一定的大規(guī)模系統(tǒng)開(kāi)發(fā)需求。
為了能有有效實(shí)現(xiàn)微服務(wù)軟件的設(shè)計(jì)與開(kāi)發(fā),相關(guān)的工作人員應(yīng)該深入全面了解剖析已有的實(shí)戰(zhàn)經(jīng)驗(yàn)。在已有的基礎(chǔ)之上對(duì)當(dāng)前存在的缺陷和弊端展開(kāi)游戲哦啊分析。與此同時(shí),大力引入汲取最新的科學(xué)和學(xué)術(shù)研究成果,充分驗(yàn)證這些學(xué)術(shù)成果,另外,還要科學(xué)有效合理地評(píng)估并研究微服務(wù)的設(shè)計(jì)質(zhì)量??茖W(xué)全面評(píng)估整體的質(zhì)量功效。從而有效促進(jìn)并且?guī)椭嚓P(guān)的開(kāi)發(fā)人員更好地完成設(shè)計(jì)工作。
如果想要對(duì)微服務(wù)軟件展開(kāi)科學(xué)合理有效測(cè)試。就需要相關(guān)的工作人員通過(guò)引入傳統(tǒng)測(cè)試技術(shù)的基礎(chǔ)之上加以優(yōu)化和創(chuàng)新。期間要保持測(cè)試具有有效性,創(chuàng)新性,準(zhǔn)確性,全面性,高效性穩(wěn)定性等等。
對(duì)于微服務(wù)重構(gòu)來(lái)說(shuō),迄今為止有較多的研究數(shù)量,相關(guān)的工作人員和學(xué)者探索了重構(gòu)程序和重構(gòu)方法。同時(shí)還闡述了大量的將己有的重構(gòu)方法能否和現(xiàn)代的大規(guī)模系統(tǒng)相互適應(yīng)依然需要相關(guān)人員進(jìn)一步展開(kāi)驗(yàn)證。通過(guò)對(duì)比不同重構(gòu)方法和評(píng)估上相關(guān)工作人員應(yīng)該不斷創(chuàng)新思維,積極探索開(kāi)辟新的經(jīng)驗(yàn)研究途徑。通過(guò)已有的研究基礎(chǔ),選擇適用于不同重構(gòu)場(chǎng)景的標(biāo)準(zhǔn)化、規(guī)范化方法。
結(jié)束語(yǔ)
隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,互聯(lián)網(wǎng)用戶表也是日益加贈(zèng)。傳統(tǒng)互聯(lián)網(wǎng)業(yè)務(wù)的單體式應(yīng)用模式已經(jīng)無(wú)法滿足差異化用戶的個(gè)體需要,引入微服務(wù)能夠根據(jù)用戶邏輯進(jìn)行需求拆分,基于簡(jiǎn)單運(yùn)行邏輯進(jìn)行微服務(wù)功能的實(shí)現(xiàn)微服務(wù)是SOA架構(gòu)的一種變體,基于輕量級(jí)協(xié)議與細(xì)粒度服務(wù)進(jìn)行應(yīng)用程序構(gòu)造與軟件開(kāi)發(fā)設(shè)計(jì),可憑借其擴(kuò)展性優(yōu)勢(shì)進(jìn)行開(kāi)放平臺(tái)的部署,能夠有效降低成本、縮短開(kāi)發(fā)周期的應(yīng)用效果。
參考文獻(xiàn)
[1]鐘陳星,李杉杉,張賀,等.限界上下文視角下的微服務(wù)粒度評(píng)估[J].軟件學(xué)報(bào),2019,(10).3227-3241.
[2]李超,花磊,宋云奎.OpsFlow:一種面向DevOps的應(yīng)用自動(dòng)化部署引擎?[J].計(jì)算機(jī)與數(shù)字工程,2019,(1).190-194,247.