999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Spring Cloud的機(jī)場態(tài)勢系統(tǒng)微服務(wù)改造

2020-08-31 05:41:24糜小兵孟獻(xiàn)軻
機(jī)電信息 2020年18期

糜小兵 孟獻(xiàn)軻

摘要:機(jī)場態(tài)勢系統(tǒng)伴隨其呈現(xiàn)的數(shù)據(jù)主題越來越豐富而日趨復(fù)雜,這就對系統(tǒng)的可擴(kuò)展性、敏捷性、容錯性等方面的能力提出了更高的要求,而傳統(tǒng)單體架構(gòu)已經(jīng)難以滿足上述要求。鑒于此,提出了基于Spring Cloud的微服務(wù)架構(gòu)設(shè)計方案,通過此方案改造后的機(jī)場態(tài)勢系統(tǒng)更易于敏捷開發(fā)、迅速迭代上線,更易實現(xiàn)對計算資源的彈性擴(kuò)展,更易于功能擴(kuò)展與集成而不受技術(shù)棧的限制。

關(guān)鍵詞:Spring Cloud;微服務(wù)改造;單體架構(gòu);微服務(wù)架構(gòu)

0? ? 引言

隨著機(jī)場態(tài)勢系統(tǒng)成為機(jī)場指揮控制的樞紐中心,其呈現(xiàn)的主題數(shù)據(jù)越來越豐富,系統(tǒng)日趨復(fù)雜,原單體架構(gòu)下的項目開發(fā)、測試、部署模式難以支撐其對系統(tǒng)的可擴(kuò)展性、敏捷性以及容錯性等方面的能力要求。為滿足上述能力要求,對現(xiàn)有單體應(yīng)用架構(gòu)進(jìn)行調(diào)整勢在必行。本文提出了基于Spring Cloud框架實現(xiàn)機(jī)場態(tài)勢系統(tǒng)的微服務(wù)改造,改造后的機(jī)場態(tài)勢系統(tǒng)更易于敏捷開發(fā),更易實現(xiàn)對計算資源的彈性擴(kuò)展,更易于功能擴(kuò)展與集成而不受技術(shù)棧的限制。

1? ? 關(guān)鍵技術(shù)介紹

1.1? ? 微服務(wù)

微服務(wù)架構(gòu)是采用服務(wù)集合的方式來構(gòu)建應(yīng)用的架構(gòu)模式,各服務(wù)部署在不同的進(jìn)程中,服務(wù)間的通信通過RPC、HTTP、REST等輕量級交互機(jī)制來進(jìn)行,服務(wù)可獨立擴(kuò)展伸縮,由于服務(wù)明確定義了自身的邊界,因此不同服務(wù)可以由不同團(tuán)隊采用不同的編程語言來實現(xiàn)與維護(hù)[1]。微服務(wù)架構(gòu)由面向服務(wù)的架構(gòu)SOA發(fā)展而來,其核心理論基礎(chǔ)來自于康威定律[2],于2014年3月由Martin Fowler在他的文章《Microservices》中首次提出。以網(wǎng)絡(luò)為中心面向服務(wù)化的微服務(wù)架構(gòu)與傳統(tǒng)的單體應(yīng)用架構(gòu)相比,其優(yōu)勢主要體現(xiàn)為以下幾點:一是微服務(wù)架構(gòu)以“職責(zé)單一”為指導(dǎo),將業(yè)務(wù)系統(tǒng)模塊組件化、服務(wù)化,服務(wù)化的模塊功能單一明確,邊界清晰,復(fù)雜度低,從而利于敏捷開發(fā)與快速部署;二是微服務(wù)架構(gòu)提升了容錯性,服務(wù)運行隔離,一個服務(wù)出了問題,不會影響其他微服務(wù);三是微服務(wù)架構(gòu)允許技術(shù)團(tuán)隊根據(jù)團(tuán)隊成員技術(shù)棧與功能需求選擇不同的技術(shù)路線。

雖然微服務(wù)架構(gòu)是一種先進(jìn)的架構(gòu)模式,但同時也帶來以下挑戰(zhàn):一是運維要求高,運維工程師除了需要使用自動化技術(shù)部署微服務(wù),還需要對整個微服務(wù)系統(tǒng)進(jìn)行有效的監(jiān)控,并保障系統(tǒng)的高可靠性;二是微服務(wù)架構(gòu)的分布式復(fù)雜性,微服務(wù)架構(gòu)的每個服務(wù)可以部署在任意機(jī)器上,這樣部署的形態(tài)容易導(dǎo)致網(wǎng)絡(luò)延遲、系統(tǒng)容錯、分布式事務(wù)等問題,都會給微服務(wù)架構(gòu)帶來很大的挑戰(zhàn);三是服務(wù)間通信成本較高,每個服務(wù)在獨立的進(jìn)程中運行,從客戶端訪問微服務(wù)需要跨進(jìn)程來進(jìn)行調(diào)用,顯然進(jìn)程間的調(diào)用對其計算資源占用一定比進(jìn)程內(nèi)的調(diào)用更高,通信成本的開銷不可避免更高[3]。

1.2? ? Spring Cloud

Spring Cloud是一個基于Spring Boot實現(xiàn)的微服務(wù)架構(gòu)開發(fā)工具,它為微服務(wù)架構(gòu)中涉及的配置管理、服務(wù)治理、斷路器、智能路由、微代理、控制總線、全局鎖、決策競選、分布式會話和集群狀態(tài)管理等操作提供了一種簡單的開發(fā)方式[4]。

Spring Cloud在集成封裝Netflix多個框架的基礎(chǔ)上進(jìn)行擴(kuò)展,因此除了Spring Cloud Netflix模塊外,Spring Cloud其他幾個重要的模塊如下:Spring Cloud Config模塊主要為分布式系統(tǒng)提供服務(wù)器和客戶端運行配置,通過靈活配置可以高效地管理集群中龐大的配置文件;Spring Cloud Sleuth模式是服務(wù)跟蹤框架,與Zipkin、Apache HTrace和ELK等這些數(shù)據(jù)分析、服務(wù)跟蹤系統(tǒng)整合后可以高效地解決服務(wù)跟蹤問題;Spring Cloud Stream模塊主要是用于構(gòu)建消息驅(qū)動的框架,在Spring Boot的基礎(chǔ)上通過整合Spring Integration來提供連接消息代理中間件的能力;Spring Cloud Bus通過連接RabbitMQ、Kafka等消息代理的集群消息總線提供聯(lián)通服務(wù)[5]。

2? ? 機(jī)場態(tài)勢系統(tǒng)微服務(wù)改造設(shè)計與實現(xiàn)

2.1? ? 改造策略

對于比較復(fù)雜的大型業(yè)務(wù)信息系統(tǒng)的改造,如果采取直接推翻舊系統(tǒng)、重新構(gòu)建微服務(wù)架構(gòu)的方案,顯然成本高且風(fēng)險大。因此,應(yīng)當(dāng)采取漸進(jìn)式重構(gòu)舊系統(tǒng)的改造策略,主要包括以下兩點:

策略一:微服務(wù)提取。對舊系統(tǒng)內(nèi)功能模塊邊界相對獨立的,提取改造為獨立的微服務(wù),不斷將模塊轉(zhuǎn)化為微服務(wù)組件,舊系統(tǒng)就會不斷收縮,一旦足夠多的模塊轉(zhuǎn)化成服務(wù)組件,則舊系統(tǒng)或者徹底消失,或者縮小成為另一個微服務(wù)。

策略二:增量業(yè)務(wù)直接微服務(wù)化。對于舊系統(tǒng)新增業(yè)務(wù)功能不再延續(xù)單體架構(gòu)技術(shù)而是直接開發(fā)成為獨立的微服務(wù)[6]。

2.2? ? 微服務(wù)簡單模式設(shè)計與改造

基于上述改造策略,對機(jī)場態(tài)勢系統(tǒng)需要改造或新增業(yè)務(wù)進(jìn)行微服務(wù)架構(gòu)設(shè)計,相對于傳統(tǒng)的單體架構(gòu),微服務(wù)架構(gòu)一下子引入了太多的概念,而Spring Cloud的組件模塊多得讓開發(fā)者有點無可適從。基于上述情況,需要根據(jù)項目實際梳理清楚哪些組件是開發(fā)一個微服務(wù)架構(gòu)系統(tǒng)所必需的。通常微服務(wù)模式運行主要包括以下幾個關(guān)鍵點:一是微服務(wù)提供方將地址信息注冊到注冊中心,調(diào)用方將服務(wù)地址從注冊中心拉取下來;二是通過門戶后端(服務(wù)網(wǎng)關(guān))將微服務(wù)API暴露給門戶和移動App;三是為防止服務(wù)故障引發(fā)級聯(lián)故障導(dǎo)致雪崩效應(yīng),需要容錯機(jī)制。

通過上述關(guān)鍵點可知微服務(wù)架構(gòu)必須具備注冊中心、服務(wù)發(fā)現(xiàn)、負(fù)載均衡、服務(wù)網(wǎng)關(guān)、服務(wù)容錯這五大組件。常見的服務(wù)注冊中心有Zookeeper、Eureka、Consul、Etcd等[7],結(jié)合項目選擇Eureka。對于客戶端服務(wù)發(fā)現(xiàn)和負(fù)載均衡則有很多負(fù)載均衡算法,最簡單的負(fù)載均衡算法來自著名的Round Robin算法,即輪詢法[7],其思想是將多個可用服務(wù)實例組織成一個循環(huán)隊列,然后根據(jù)實例順序輪流分派服務(wù)請求;另外還有加權(quán)輪詢法[8]、最小連接數(shù)法[9]等,結(jié)合Spring Cloud選擇Ribbon。對于服務(wù)網(wǎng)關(guān)選擇Spring Cloud Zuul,Zuul是Netflix基于Java開發(fā)的服務(wù)端API網(wǎng)關(guān)和負(fù)載均衡器。除此之外,Zuul還可以對過濾器進(jìn)行動態(tài)的加載、編譯、運行。服務(wù)容錯選擇Hystrix,這是Netflix開源的一個工具類庫,可以為網(wǎng)絡(luò)請求設(shè)置超時,使用斷路器模式,用于隔離訪問遠(yuǎn)程系統(tǒng)、服務(wù)或第三方庫,防止級聯(lián)失敗,從而提升系統(tǒng)的可用性和容錯性。

整個基于Spring Cloud的微服務(wù)架構(gòu)如圖1所示。

在改造策略和微服務(wù)架構(gòu)模式確定后,對原有機(jī)場態(tài)勢系統(tǒng)進(jìn)行功能分析,對于業(yè)務(wù)相當(dāng)獨立地進(jìn)行微服務(wù)改造,通過對服務(wù)模塊最大限度地拆分,體現(xiàn)了微服務(wù)化的設(shè)計理念,大幅提高了系統(tǒng)部署靈活性、可擴(kuò)展性和可維護(hù)性,保證了系統(tǒng)的健壯性[10-12]。

3? ? 結(jié)語

本文研究了機(jī)場態(tài)勢系統(tǒng)由傳統(tǒng)的單體應(yīng)用架構(gòu)借助Spring Cloud進(jìn)行微服務(wù)改造,大型復(fù)雜業(yè)務(wù)信息系統(tǒng)的服務(wù)化改造不是一蹴而就的,因此重點研究了復(fù)雜業(yè)務(wù)信息系統(tǒng)的微服務(wù)改造策略以及微服務(wù)的快速簡單實現(xiàn)方案,將機(jī)場態(tài)勢系統(tǒng)的功能進(jìn)行抽取形成耦合度低、獨立部署的服務(wù)組件,這樣伴隨機(jī)場態(tài)勢系統(tǒng)的發(fā)展,不僅能夠快速響應(yīng),而且其支持高并發(fā)、高可用、可擴(kuò)展的特性,也為業(yè)務(wù)發(fā)展提供了堅實基礎(chǔ)。

[參考文獻(xiàn)]

[1] 黃小鋒,張晶.微服務(wù)框架介紹與實現(xiàn)[J].電腦與信息技術(shù),2016,24(6):14-16.

[2] FOWLER M,LEWIS J.Microservices:a definition of this new architectural term[EB/OL].[2020-05-03]. https://www.martinfowler.com/articles/microservices.html.

[3] 黃勇.架構(gòu)探險:輕量級微服務(wù)架構(gòu)[M].北京:電子工業(yè)出版社,2016.

[4] 翟永超.Spring Cloud微服務(wù)實戰(zhàn)[M].北京:電子工業(yè)出版社,2017.

[5] 楊恩雄.瘋狂Spring Cloud微服務(wù)架構(gòu)實戰(zhàn)[M].北京:電子工業(yè)出版社,2018.

[6] RICHARDSON C.微服務(wù)架構(gòu)設(shè)計模式[M].喻勇,譯.北京:機(jī)械工業(yè)出版社,2019.

[7] UPADHYAY A,HASIJA H.Optimization in round robin process scheduling algorithm[C]// Proceedings of Third International Conference,2016:457-467.

[8] LI T,BAUMBERGER D,HAHN S W.Efficient and scalable multiprocessor fair scheduling using distributed weighted round-robin[J].ACM Sigplan Notices,2009,44(4):65-74.

[9] CHOI D J,CHUNG K S,SHON J G.An improvement on the weighted least -connection scheduling algorithm for load balancing in Web cluster systems[M]//Grid and Distributed Computing,Control and Automation. Berlin,Heidelberg:Springer,2010:127-134.

[10] 王方旭.基于Spring Cloud實現(xiàn)業(yè)務(wù)系統(tǒng)微服務(wù)化的設(shè)計與實現(xiàn)[J].電子技術(shù)與軟件工程,2018(8):60-61.

[11] 黃沛.基于RESTful架構(gòu)的科技信息共享接口系統(tǒng)的設(shè)計[J].軟件,2018,39(7):170-172.

[12] 王二偉,姚文斌.一種基于REST的物聯(lián)網(wǎng)資源模型和分布策略[J].軟件,2015,36(12):128-131.

收稿日期:2020-05-06

作者簡介:糜小兵(1981—),男,四川渠縣人,碩士研究生,工程師,研究方向:作戰(zhàn)指揮控制。

孟獻(xiàn)軻(1980—),男,江蘇丹陽人,高級工程師,研究方向:作戰(zhàn)指揮控制。

主站蜘蛛池模板: 大香网伊人久久综合网2020| 色亚洲激情综合精品无码视频| 亚洲色图欧美视频| 国产亚洲视频播放9000| 中文字幕在线观看日本| 国产毛片高清一级国语| 91视频区| 视频二区欧美| 国产亚洲第一页| 亚洲AV无码久久天堂| 九九热视频在线免费观看| 91成人在线免费视频| 99r在线精品视频在线播放| a色毛片免费视频| 免费一极毛片| 男人天堂伊人网| 欧美一区福利| 亚洲一区二区三区国产精华液| 国产精品久久久久无码网站| 97国产成人无码精品久久久| 国产主播福利在线观看| 欧美精品v欧洲精品| 看国产一级毛片| 亚洲精品欧美日本中文字幕| 国产成人久久777777| 欧美日韩国产综合视频在线观看| 免费一级无码在线网站 | 久久人人爽人人爽人人片aV东京热 | 在线观看亚洲国产| 一区二区日韩国产精久久| 人妻出轨无码中文一区二区| 色偷偷av男人的天堂不卡| 五月天丁香婷婷综合久久| 欧美色图久久| 色偷偷男人的天堂亚洲av| 99er这里只有精品| 国产jizzjizz视频| 日本免费a视频| 亚洲二区视频| 欧美三级视频网站| 国产Av无码精品色午夜| 99久久精品免费看国产免费软件| 亚洲天堂日韩在线| 色婷婷在线影院| 欧美国产另类| 亚洲欧美日韩中文字幕一区二区三区| 毛片在线播放网址| 国产欧美中文字幕| 国产又爽又黄无遮挡免费观看| 久久综合干| 又爽又大又光又色的午夜视频| 男女性午夜福利网站| 97人人模人人爽人人喊小说| 国产精品人莉莉成在线播放| 99视频精品在线观看| 中文无码毛片又爽又刺激| 制服丝袜一区二区三区在线| 欧美专区日韩专区| 亚卅精品无码久久毛片乌克兰| 91小视频在线| 国产亚洲精品97在线观看| 伊人色天堂| 久久久四虎成人永久免费网站| 久久综合九九亚洲一区| 精品一区二区三区无码视频无码| 国产激情无码一区二区三区免费| 欧美在线中文字幕| 一个色综合久久| 国产精品青青| 人妻少妇乱子伦精品无码专区毛片| a毛片在线免费观看| 国产嫖妓91东北老熟女久久一| 亚洲精品视频网| 精品91在线| 国产人成网线在线播放va| 日韩欧美中文亚洲高清在线| 国产美女91视频| 欧美性猛交xxxx乱大交极品| 免费国产高清视频| 国产情侣一区| 久久不卡国产精品无码| 欧美人与性动交a欧美精品|