国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于微服務(wù)架構(gòu)的系統(tǒng)設(shè)計與應(yīng)用

2019-10-09 05:48:10鄭冰
電子技術(shù)與軟件工程 2019年17期
關(guān)鍵詞:網(wǎng)關(guān)部署架構(gòu)

文/鄭冰

1 引言

隨著云計算、大數(shù)據(jù)、互聯(lián)網(wǎng)的發(fā)展和普及,企業(yè)的應(yīng)用系統(tǒng)的規(guī)模越來越大,越來越復(fù)雜,給系統(tǒng)的設(shè)計開發(fā)、運行維護等帶來了巨大的挑戰(zhàn)。因此,為了提高應(yīng)用系統(tǒng)的開發(fā)效率和維護便捷性,提出了微服務(wù)架構(gòu)思想?;谖⒎?wù)架構(gòu)技術(shù),能有效解決大型軟件單體架構(gòu)帶來的研發(fā)周期長的問題,能夠快速響應(yīng)用戶需求。

2 基于微服務(wù)架構(gòu)的系統(tǒng)設(shè)計優(yōu)勢

基于微服務(wù)架構(gòu)的軟件信息系統(tǒng)可以按照每一個邏輯業(yè)務(wù)功能進行原子化劃分,構(gòu)建一個邏輯獨立的應(yīng)用軟件系統(tǒng),提高每一個模塊的操作執(zhí)行效率,可以解決復(fù)雜問題,同時還可以節(jié)約硬件資源。在功能模塊化、微服務(wù)化的情況下還可以提高處理效率,解決編碼過于復(fù)雜的問題,改善編碼的應(yīng)用效果。在傳統(tǒng)的應(yīng)用系統(tǒng)設(shè)計過程中,人們需要選擇不同類型的技術(shù),但是在微服務(wù)架構(gòu)下,其可以利用中心化的組織架構(gòu),不需要過度重視某一個重點,這樣就可以根據(jù)應(yīng)用服務(wù)范圍不同確定技術(shù)種類,實現(xiàn)一對一的技術(shù)性服務(wù),提高系統(tǒng)運行與處理效率。本文通過總結(jié)發(fā)現(xiàn),基于微服務(wù)架構(gòu)的系統(tǒng)設(shè)計具有很多優(yōu)勢,比如服務(wù)技術(shù)異構(gòu)性、服務(wù)的擴展性和部署簡單化。

2.1 服務(wù)技術(shù)異構(gòu)性

微服務(wù)架構(gòu)的每個服務(wù)不是必須采用一致的語言或技術(shù),可以選擇一個適合的開發(fā)技術(shù)和程序設(shè)計語言,因此一個團隊可以根據(jù)情況選擇最熟悉的技術(shù),這樣就可以更好地支撐當(dāng)前的應(yīng)用軟件。

2.2 服務(wù)的擴展性

目前,一個軟件系統(tǒng)的功能非常多,同時隨著系統(tǒng)運行和使用,未來還需要添加更多的服務(wù)功能。傳統(tǒng)的系統(tǒng)架構(gòu)可擴展性比較弱,基于微服務(wù)架構(gòu)的系統(tǒng)則可以提升擴展性,每一個系統(tǒng)模塊都擁有獨立性,因此就可以單獨進行擴展,不需要涉及其他的功能模塊和底層架構(gòu),這樣就可以提高系統(tǒng)的服務(wù)能力。

圖1:基于Spring Cloud應(yīng)用平臺架構(gòu)

2.3 簡化部署

基于微服務(wù)架構(gòu)的系統(tǒng)可以針對服務(wù)功能進行單獨處理,自頂向下針對系統(tǒng)的功能服務(wù)進行劃分,每一個服務(wù)都屬于一個單獨的模塊,各個模塊之間是邏輯獨立的,因此每一個服務(wù)的部署都是單獨的,這樣就可以有效簡化系統(tǒng)部署工作。在傳統(tǒng)的系統(tǒng)部署過程中,一旦某一個功能模塊發(fā)生故障或問題,就會導(dǎo)致系統(tǒng)整體無法部署,采用微服務(wù)架構(gòu)開發(fā)的系統(tǒng)則可以只關(guān)注出問題的模塊,這樣就可以提高整個系統(tǒng)的部署效率。

3 基于Spring Cloud微服務(wù)架構(gòu)的設(shè)計與開發(fā)

Spring Cloud是近幾年開始流行的微服務(wù)框架,它利用Spring Boot的開發(fā)便利性巧妙地簡化了分布式系統(tǒng)基礎(chǔ)設(shè)施的開發(fā),如服務(wù)發(fā)現(xiàn)注冊、配置中心、消息總線、負載均衡、斷路器、數(shù)據(jù)監(jiān)控等,都可以用Spring Boot的開發(fā)風(fēng)格做到一鍵啟動和部署。Spring Cloud是一個應(yīng)用非常廣泛的組件,能夠為軟件開發(fā)帶來較多的技術(shù)支持,可以在微服務(wù)應(yīng)用架構(gòu)設(shè)計中提供標(biāo)準(zhǔn)框架,以便能夠?qū)崿F(xiàn)以微服務(wù)為架構(gòu)的基礎(chǔ)程序代碼?;赟pring Cloud微服務(wù)架構(gòu)的應(yīng)用系統(tǒng)設(shè)計過程中,首先需要創(chuàng)建一個Spring Cloud配置服務(wù)器,創(chuàng)建一個Java程序開發(fā)框架,在Spring Boot基礎(chǔ)上進行系統(tǒng)構(gòu)建,然后軟件設(shè)計師就可以激活這個應(yīng)用服務(wù)功能,同時可以繼續(xù)地配置服務(wù)器,完善系統(tǒng)服務(wù)的訪問路徑。其次,系統(tǒng)設(shè)計與開發(fā)還可以利用微服務(wù)注冊技術(shù),注冊完畢之后就可以發(fā)現(xiàn)系統(tǒng)中的功能模塊,實現(xiàn)系統(tǒng)的集成和通訊傳輸,自動化的注冊可以提高微服務(wù)架構(gòu)軟件的靈活性和部署簡潔性。最后在用戶交互界面方面,使用AngularJS組件綁定數(shù)據(jù)模型和頁面變量,完成完整微服務(wù)的開發(fā)和創(chuàng)建。

4 基于Spring Cloud微服務(wù)架構(gòu)在物流信息系統(tǒng)中的應(yīng)用研究

隨著近些年物流業(yè)的快速發(fā)展對信息系統(tǒng)提出了更高的要求,需求變化頻度不斷提高,傳統(tǒng)大型項目的單體式開發(fā)模式已經(jīng)不太適應(yīng)快速的變化,需要更靈活的架構(gòu)模式。因此在企業(yè)的實踐中引入了微服務(wù)架構(gòu)模式來應(yīng)對。微服務(wù)架構(gòu)中服務(wù)的分割也是需要重點考量的問題。雖然服務(wù)的劃分能夠使得系統(tǒng)更靈活,但是太細粒度的分割也會使得系統(tǒng)的服務(wù)和服務(wù)之間的交互變得錯綜復(fù)雜,難以管理。因此在構(gòu)建物流系統(tǒng)是采用了模塊級別的服務(wù)劃分,數(shù)量大約在20個左右的水平,主要劃分為基礎(chǔ)服務(wù)、訂單服務(wù)、產(chǎn)品服務(wù)、運價服務(wù)、供應(yīng)商管理服務(wù)、報表服務(wù)等等。這樣的設(shè)計模式既能夠發(fā)揮微服務(wù)的優(yōu)勢也能夠保持系統(tǒng)的易維護性。具體的應(yīng)用架構(gòu)如圖1所示。

該應(yīng)用平臺采用了6層架構(gòu)來實現(xiàn),即客戶端,網(wǎng)關(guān)層,微服層,業(yè)務(wù)層,資源存取層和資源層,并進行了一定拓展。具體說明如下:

4.1 客戶端

提供Web應(yīng)用和GUI應(yīng)用給最終用戶使用。Web客戶端和GUI客戶端采用Http/Https協(xié)議和網(wǎng)關(guān)層通信。

4.2 網(wǎng)關(guān)層

為外部提供統(tǒng)一的網(wǎng)關(guān)接口,以及路由,安全控制等功能。

4.3 微服層

微服務(wù)層為所有的微服務(wù)統(tǒng)一提供一個注冊發(fā)現(xiàn)中心,并配合網(wǎng)關(guān)層對外開放API接口。每個微服務(wù)實現(xiàn)一套獨立的功能,并且可以獨自部署,橫向擴展。

4.4 業(yè)務(wù)邏輯層

業(yè)務(wù)邏輯層是整個統(tǒng)一信息管理系統(tǒng)的核心模塊,實現(xiàn)所有的業(yè)務(wù)邏輯。本層主要包括3種組件,即:

(1)業(yè)務(wù)Biz提供統(tǒng)一的業(yè)務(wù)服務(wù)調(diào)用,包括提供給服務(wù)層調(diào)用。

(2)業(yè)務(wù)組件對象封裝一個業(yè)務(wù)功能。

(3)業(yè)務(wù)對象封裝業(yè)務(wù)模型數(shù)據(jù)。

4.5 資源存取層

封裝和外部資源的通信。主要提供3種類型的集成,即:

(1)數(shù)據(jù)集成,封裝數(shù)據(jù)訪問,例如數(shù)據(jù)庫和文件訪問;

(2)消息集成,封裝和消息中間件的通信,如MQ等;

(3)應(yīng)用集成,封裝和外部系統(tǒng)的交互。

4.6 資源層

系統(tǒng)的外部資源。對于集成層,同時具有3種類型的資源:數(shù)據(jù)源資源、消息資源、應(yīng)用資源。

4.7 基礎(chǔ)服務(wù)

對微服務(wù)層,業(yè)務(wù)邏輯層,資源存取層提供公共的服務(wù),主要包括緩存服務(wù),傳輸對象,文件日志,數(shù)據(jù)庫日志,權(quán)限管理,事務(wù)管理,任務(wù)調(diào)度模塊等。

4.8 Spring容器管理

業(yè)務(wù)邏輯層、集成層、基礎(chǔ)服務(wù)都在Spring的容器管理中。Spring提供依賴注入和控制反轉(zhuǎn)等功能。

基于以上應(yīng)用架構(gòu)搭建的物流信息系統(tǒng)經(jīng)過實踐證明,達到良好的性能指標(biāo)。開發(fā)人員更加專注于業(yè)務(wù)模塊的開發(fā),系統(tǒng)架構(gòu)師負責(zé)總體協(xié)調(diào)微服務(wù)的運維,使得系統(tǒng)開發(fā)效率更高,能應(yīng)對快速變化的業(yè)務(wù)需求。

5 結(jié)束語

微服務(wù)架構(gòu)能有效提升應(yīng)用系統(tǒng)處理復(fù)雜事物的能力,通過高內(nèi)聚和低耦合手段簡化系統(tǒng)的設(shè)計?;谖⒎?wù)的模塊具有較高的自治性,可以按照獨立實體模式存在和運行。SpringCloud是非常優(yōu)秀的微服務(wù)架構(gòu)體系,在實踐中有廣泛的應(yīng)用,基于SpringCloud微服務(wù)架構(gòu)搭建物流信息系統(tǒng),經(jīng)過實踐證明,能夠快速適應(yīng)需求的變化,達到設(shè)計初衷,具備一定的實踐價值。

猜你喜歡
網(wǎng)關(guān)部署架構(gòu)
基于FPGA的RNN硬件加速架構(gòu)
一種基于Kubernetes的Web應(yīng)用部署與配置系統(tǒng)
晉城:安排部署 統(tǒng)防統(tǒng)治
功能架構(gòu)在電子電氣架構(gòu)開發(fā)中的應(yīng)用和實踐
汽車工程(2021年12期)2021-03-08 02:34:30
基于改進RPS技術(shù)的IPSEC VPN網(wǎng)關(guān)設(shè)計
部署
LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實現(xiàn)
部署“薩德”意欲何為?
太空探索(2016年9期)2016-07-12 10:00:02
LTE Small Cell網(wǎng)關(guān)及虛擬網(wǎng)關(guān)技術(shù)研究
移動通信(2015年18期)2015-08-24 07:45:08
應(yīng)對氣候變化需要打通“網(wǎng)關(guān)”
太陽能(2015年7期)2015-04-12 06:49:50
德清县| 定南县| 乐昌市| 松滋市| 六盘水市| 娄烦县| 西和县| 怀来县| 诸暨市| 营山县| 正镶白旗| 凤山县| 策勒县| 灌南县| 老河口市| 麻江县| 阜康市| 比如县| 修文县| 托里县| 新津县| 三亚市| 瑞金市| 扶余县| 马公市| 临湘市| 长宁区| 高碑店市| 绥江县| 彰武县| 吴忠市| 遂平县| 健康| 通许县| 顺义区| 耿马| 汤阴县| 昌乐县| 长宁县| 武夷山市| 新宁县|