姜玲霞
摘 要:隨著編程技術(shù)的快速進(jìn)步,日益增多的網(wǎng)絡(luò)架構(gòu)被不斷推出、改進(jìn)和應(yīng)用。微服務(wù)架構(gòu)就是新推出的一種網(wǎng)絡(luò)架構(gòu),剛一推出即受到廣泛的關(guān)注,基于微服務(wù)架構(gòu)而研發(fā)的系統(tǒng)在更多的領(lǐng)域得以應(yīng)用。通過微服務(wù)的架構(gòu)而建立的系統(tǒng)能夠達(dá)到多個(gè)平臺之間的綜合開發(fā),涉及網(wǎng)站、手機(jī)端和微信端之間。本文通過微服務(wù)架構(gòu),建立了聯(lián)合多個(gè)平臺的企業(yè)信息應(yīng)用管理系統(tǒng)。系統(tǒng)的網(wǎng)站端使用 Spring 為開發(fā)工具,手機(jī)端使用 Android Studio 為開發(fā)工具,數(shù)據(jù)庫采用 MySQL。軟件后臺采用 Spring Boot 框架,前臺使用EasyUI 框架實(shí)現(xiàn)。結(jié)合企業(yè)的發(fā)展?fàn)顩r,微服務(wù)能夠達(dá)到的功效包括:前期信息的輸入、變化信息的輸入和運(yùn)算、信息的及時(shí)監(jiān)測和提醒、人員的配置和管理等。平臺的建立可以實(shí)現(xiàn)企業(yè)的信息化更快發(fā)展,不光建立了更能夠?qū)崿F(xiàn)規(guī)范的管理系統(tǒng),同時(shí)也為云系統(tǒng)和大數(shù)據(jù)的需求提供了充足的硬件條件。
關(guān)鍵詞:微服務(wù)架構(gòu) 企業(yè) 信息化建設(shè)
微服務(wù)架構(gòu)的提出是建立在軟件系統(tǒng)快速發(fā)展的基礎(chǔ)上而推出。在網(wǎng)絡(luò)架構(gòu)發(fā)展歷程中由開始的單體式結(jié)構(gòu)、集群式架構(gòu)、分布式架構(gòu),逐漸發(fā)展到現(xiàn)在非常流行的采用微處理結(jié)構(gòu)模式的微服務(wù)架構(gòu)。微服務(wù)系統(tǒng)的劃分是建立在各個(gè)業(yè)務(wù)的基礎(chǔ)上,包括多個(gè)高度分解的系統(tǒng)架構(gòu),其分散式、運(yùn)算的高速化、自動(dòng)維護(hù)和容錯(cuò)性等特點(diǎn)能夠滿足許多網(wǎng)絡(luò)企業(yè)的喜歡。同時(shí)在架構(gòu)搭建的過程中為了提高系統(tǒng)運(yùn)行的高速化和合理性的同時(shí),引入了Docker容器,大幅度的壓縮了微服務(wù)的運(yùn)營支出,進(jìn)一步融合了微服務(wù)和容器之間的聯(lián)系度。
1設(shè)計(jì)架構(gòu)的演變
1.1單體結(jié)構(gòu)
該階段的企業(yè)體量較小,架構(gòu)建立較為簡單,各種程序、數(shù)據(jù)庫和信息都通過同一臺設(shè)備進(jìn)行完成,將平臺的服務(wù)結(jié)構(gòu)進(jìn)行分開管理,同時(shí)提高系統(tǒng)的緩存來服務(wù)器的訪問次數(shù)。
1.2集群結(jié)構(gòu)
隨著企業(yè)的體量不但擴(kuò)大,訪問量增多,服務(wù)器承受的壓力也日益增多,在訪問的高峰時(shí)期容易出現(xiàn)服務(wù)系統(tǒng)遲滯的問題,通過分散服務(wù)器管理的形式來提高服務(wù)器的運(yùn)行效率,建立系統(tǒng)負(fù)擔(dān)平衡、反向推算、數(shù)據(jù)庫的信息輸入和輸出的應(yīng)急措施。
1.3分布式系統(tǒng)
企業(yè)規(guī)模進(jìn)一步擴(kuò)大,數(shù)據(jù)的需求量快速增加,網(wǎng)絡(luò)用戶的需求和對服務(wù)器 的容量要求已經(jīng)提高到了更高的層級,為了滿足對于系統(tǒng)的要求,將整個(gè)平臺分解成多個(gè)模塊,并對各個(gè)模塊進(jìn)行專門的研發(fā)、調(diào)試、運(yùn)營,模塊之間進(jìn)行數(shù)據(jù)的分塊配置,亦可針對同一個(gè)數(shù)據(jù)模塊發(fā)起系統(tǒng)整體性的訪問。
1.4微服務(wù)架構(gòu)
分散式服務(wù)是微服務(wù)的重要優(yōu)勢。當(dāng)客戶訪問量較大,可以通過分布式系統(tǒng)的模式來對提高客戶訪問服務(wù)器的效率,縮短訪問系統(tǒng)的時(shí)間,各個(gè)分散的下級系統(tǒng)可以進(jìn)行多點(diǎn)式儲存信息,減少集中存儲的數(shù)量,可以通過前端和末端進(jìn)行分離的處理形式,實(shí)現(xiàn)各個(gè)子系統(tǒng)的條塊化,采用多個(gè)層級服務(wù)器之間的交互處理,分離多個(gè)子系統(tǒng)的服務(wù),借助Docker容器,使微服務(wù)最大程度的發(fā)揮自己的功能。
2微服務(wù)的特點(diǎn)
2.1微服務(wù)架構(gòu)的合理性
2.1.1減少系統(tǒng)的復(fù)雜程度
為了提高整個(gè)系統(tǒng)的運(yùn)行效率,減少系統(tǒng)的復(fù)雜性,微服務(wù)架構(gòu)則是借助多個(gè)單體式模式來實(shí)現(xiàn)服務(wù)目標(biāo),各個(gè)模式作為整個(gè)系統(tǒng)的組成部分,實(shí)現(xiàn)系統(tǒng)的各個(gè)服務(wù)效果。
2.1.2部署的獨(dú)立性
微服務(wù)系統(tǒng)的各個(gè)組件具有分離單獨(dú)的處理系統(tǒng)和運(yùn)算程序,因此不同微服務(wù)程序的建立能夠?qū)崿F(xiàn)單獨(dú)的運(yùn)行。以往的系統(tǒng)平臺中,一旦需要對其中某個(gè)子程序進(jìn)行調(diào)整,就需要對整個(gè)系統(tǒng)進(jìn)行重新設(shè)置,工程量較大。微服務(wù)則可以有效的避免這個(gè)情況,因?yàn)槲⒎?wù)架構(gòu)布置的獨(dú)立性,可以單獨(dú)針對各個(gè)應(yīng)用進(jìn)行設(shè)置和調(diào)整,增加了系統(tǒng)的靈活性,減少了因?yàn)槟硞€(gè)組件進(jìn)行調(diào)整而導(dǎo)致整個(gè)系統(tǒng)可能發(fā)生崩潰的風(fēng)險(xiǎn),大大提高了系統(tǒng)的工作效率。
2.1.3容錯(cuò)性高
以往的單一模式的系統(tǒng)中,一旦個(gè)別模式出現(xiàn)問題,很可能會導(dǎo)致整個(gè)系統(tǒng)出現(xiàn)波動(dòng),甚至在不同模式之間出現(xiàn)問題的交叉感染,造成多個(gè)模式出現(xiàn)問題,輕則導(dǎo)致部分系統(tǒng)的功能出現(xiàn)中斷,嚴(yán)重的話則會造成整個(gè)系統(tǒng)出現(xiàn)癱瘓。而微服務(wù)系統(tǒng)中,因?yàn)楦鱾€(gè)子模塊是相對獨(dú)立的系統(tǒng),因此不同的問題則可以限制在具體的模塊中處理,不會造成整個(gè)服務(wù)架構(gòu)出現(xiàn)系統(tǒng)性問題,同時(shí)微服務(wù)架構(gòu)具有相對前端的預(yù)警能力,能夠?qū)崿F(xiàn)對整個(gè)系統(tǒng)的穩(wěn)定性監(jiān)測。
2.1.4技術(shù)靈活
微服務(wù)構(gòu)架有多種技術(shù)的選擇,科學(xué)選用系統(tǒng)運(yùn)行方法,降低系統(tǒng)運(yùn)行成本,實(shí)現(xiàn)模塊分工運(yùn)行。因?yàn)槲⒎?wù)架構(gòu)較為簡潔,在對微服務(wù)架構(gòu)進(jìn)行設(shè)計(jì)時(shí)采用差別化的策略,保持系統(tǒng)穩(wěn)定的同時(shí),又最大限度的降低了風(fēng)險(xiǎn)。
2.1.5易擴(kuò)展
在微服務(wù)系統(tǒng)模式中,各個(gè)子系統(tǒng)的獨(dú)立性明顯,因此子系統(tǒng)的擴(kuò)展性也明顯偏強(qiáng),后期系統(tǒng)延伸的領(lǐng)域也非常廣泛,不同組件之間的功能交互能夠?qū)崿F(xiàn)同層級之間的輕易對接,即使部分組件在接口方面存在不匹配,也不會影響功能交互之間的緊密度,這主要得益于系統(tǒng)組件的相對獨(dú)立性。不同層級的組件在功能銜接過程中也可以借助組件化的獨(dú)立性優(yōu)勢,降低了微服務(wù)架構(gòu)的系統(tǒng)對接風(fēng)險(xiǎn)。
不過,微服務(wù)的系統(tǒng)架構(gòu)主要是通過分布式來維持系統(tǒng)的復(fù)雜性。分布式架構(gòu)模式可能會造成系統(tǒng)開發(fā)的復(fù)雜性增強(qiáng)。因?yàn)橄到y(tǒng)開發(fā)工程師在系統(tǒng)信息傳輸過程中需要通過RPC或者特別的通信模式,這種信息傳輸方式比調(diào)整信息的速度更為復(fù)雜,這樣是系統(tǒng)復(fù)雜度上升的原因所在。此外,由于數(shù)據(jù)庫的信息采用了分區(qū)處理的模式。在微服務(wù)實(shí)際使用過程中,要應(yīng)對不同的數(shù)據(jù)庫內(nèi)容。但是開放著所采用的信息處理系統(tǒng)和數(shù)據(jù)庫模式不利于分布式模式的系統(tǒng)類型。
3 微服務(wù)架構(gòu)在企業(yè)信息化建設(shè)平臺中的應(yīng)用
在信息化日新月異的時(shí)代,一般的文件處理軟件已經(jīng)無法達(dá)到企業(yè)快速發(fā)展的要求。微服務(wù)架構(gòu)所提供的軟件能夠?qū)崿F(xiàn)差異化的服務(wù),根據(jù)企業(yè)的具體個(gè)性化要求來設(shè)計(jì)滿足企業(yè)具體要求的軟件。同時(shí),微服務(wù)架構(gòu)的本質(zhì)特點(diǎn)就是簡化系統(tǒng)的復(fù)雜性,實(shí)現(xiàn)架構(gòu)的層次性運(yùn)行,組件的獨(dú)立運(yùn)作可以最大程度的增加系統(tǒng)的穩(wěn)定性,這些優(yōu)勢也為微服務(wù)的進(jìn)一步推廣提供了可能。微服務(wù)架構(gòu)根據(jù)公司的經(jīng)營特點(diǎn),結(jié)合公司職工的具體發(fā)展要求,進(jìn)行差異化軟件開發(fā)和系統(tǒng)建設(shè),比如構(gòu)建了包括PC端、移動(dòng)端和微信端的系統(tǒng)架構(gòu)?;诙鄠€(gè)架構(gòu)來將各個(gè)層面的客戶聯(lián)為整體,達(dá)到不分時(shí)空的在線辦公目標(biāo)。
3.1需求分析
3.1.1性能分析
(1)具有很強(qiáng)的普適性,適用于不同的平臺;
(2)系統(tǒng)運(yùn)行較穩(wěn)定,在任何情況下都能保持速度的穩(wěn)定性;
(3)多個(gè)平臺的數(shù)值都相同,如手機(jī)客戶端和微信端平臺的數(shù)據(jù),確??蛻羧〉玫臄?shù)據(jù)信息保持真實(shí)性。
3.1.2功能分析
網(wǎng)站端功能
(1)后臺管理:后臺履行職權(quán)分配的職能,包括管理職能和數(shù)據(jù)庫的功能;
(2)基礎(chǔ)數(shù)據(jù)的管理:金融機(jī)構(gòu)的信息、貸款企業(yè)的數(shù)據(jù)以及監(jiān)管機(jī)構(gòu)信息的保管和使用等功能;
(3)統(tǒng)計(jì)職能的管理:主要對出入庫的信息進(jìn)行管理,以及Excel表格的導(dǎo)入導(dǎo)出。
(4)預(yù)警功能:主要對控貨、監(jiān)管、結(jié)項(xiàng)三個(gè)方面進(jìn)行數(shù)據(jù)信息的提醒。
(5)監(jiān)管員的管理:管理的對象是監(jiān)管員的考勤,以及人員的工作分配。
手機(jī)端功能
(1)考勤功能:主要是監(jiān)管員的簽到情況
(2)巡庫功能:監(jiān)管員對質(zhì)押物品的信息進(jìn)行檢查;
(3)出入庫功能:對質(zhì)押的物品進(jìn)行出庫入庫;
(4)盤點(diǎn)功能:對剩余質(zhì)押物品進(jìn)行盤點(diǎn);
(5)個(gè)人管理功能:密碼數(shù)據(jù)的修改、軟件的升級。
微信端功能:包括修改密碼和查看功能等。
3.2系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
從用戶需要的角度出發(fā),系統(tǒng)要力求界面操作簡單。我們經(jīng)過探析,把系統(tǒng)分為下列模塊:后臺管理模塊、基礎(chǔ)數(shù)據(jù)模塊、統(tǒng)計(jì)功能模塊、預(yù)警功能模塊、監(jiān)管員管理模塊。
(1)基礎(chǔ)數(shù)據(jù):企業(yè)關(guān)于項(xiàng)目的詳細(xì)信息。
(2)統(tǒng)計(jì)功能:入庫單、出庫單、報(bào)表、現(xiàn)有監(jiān)管客戶表以及已完結(jié)監(jiān)管客戶表。
(3)預(yù)警功能:控貨、監(jiān)管、結(jié)項(xiàng)。
(4)監(jiān)管員管理:出入庫單審核、監(jiān)管人員個(gè)人信息、查看巡庫信息、查看軌跡信息等。
3.3系統(tǒng)設(shè)計(jì)流程
(1)網(wǎng)站端。
①網(wǎng)站端在所有平臺中,居于基石的地位,經(jīng)過網(wǎng)站端使用戶對基礎(chǔ)數(shù)據(jù)和出入庫數(shù)據(jù)進(jìn)行處理;
②服務(wù)器起到反饋的作用,把計(jì)算好的數(shù)據(jù)反饋給網(wǎng)站端。
(2)手機(jī)端。
①手機(jī)端是監(jiān)管人員使用的平臺,其可以對各種信息進(jìn)行錄入;
②幫助監(jiān)管人員搜尋原有的庫存信息。
(3)微信端。
①支持查看網(wǎng)站端類似的信息;
②可以讓客戶使用微信來自行修改密碼。
4結(jié)語
結(jié)合上述實(shí)例表明通過微服務(wù)架構(gòu)建立的系統(tǒng)能夠較好的滿足企業(yè)對于信息化平臺建設(shè)的基本要求。這種運(yùn)行具有短時(shí)高效的特點(diǎn),能夠?yàn)橄到y(tǒng)的升級打下堅(jiān)實(shí)的基礎(chǔ),從以上分析我們可以得出結(jié)論,微服務(wù)運(yùn)用于企業(yè)信息化的構(gòu)建具有價(jià)值性,未來可期。
參考文獻(xiàn):
[1] 崔蔚,李春陽,劉迪,等.面向微服務(wù)的統(tǒng)一應(yīng)用開發(fā)平臺[J].電力信息與通信技術(shù),2016(9):12-17.
[2] 鄧杰文,曹彩鳳.微服務(wù)若干關(guān)鍵問題研究[J].五邑大學(xué)學(xué)報(bào):自然科學(xué)版,2016(2):49-54.
[3] 薛峰,梁鋒,徐書勛,等.基于SpringMVC框架的Web研究與應(yīng)用[J].合肥工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2012(3):337-340.