李兵元 ,張文哲 ,趙春雪 ,陳琪瑋 ,司長征
(1.新疆油田公司數(shù)據(jù)公司,新疆 克拉瑪依 834000;2.航天科技控股集團股份有限公司北京分公司,北京 100070)
目前,我國信息技術的發(fā)展已經(jīng)進入一個新的階段,石油化工企業(yè)生產(chǎn)過程中,往往會涉及多項工作內(nèi)容,為了可以使生產(chǎn)需求得到有效滿足,企業(yè)方面引入自動化生產(chǎn)系統(tǒng)來進行生產(chǎn)管理是非常有必要的。從現(xiàn)階段我國石油企業(yè)內(nèi)部運行的情況來看,很多大型企業(yè)已經(jīng)部署了100多個應用系統(tǒng),隨著應用系統(tǒng)的規(guī)模日益擴大,應用水平日益提升,系統(tǒng)功能模塊之間的邊界劃分開始逐漸變得模糊,導致系統(tǒng)功能較為復雜,但是如果僅僅依靠單個獨立的系統(tǒng)又很難滿足石油化工企業(yè)內(nèi)部生產(chǎn)運行的需求。因此,現(xiàn)階段急需提升軟件的復用性,從而提升企業(yè)生產(chǎn)的質量和效率。微服務構架是一種高效的軟件復用方式,并且應用范圍正在不斷擴大,將其全面落實應用到石油化工企業(yè)的業(yè)務工作中,勢必會對企業(yè)的穩(wěn)定運行和發(fā)展起到促進作用。
微服務架構屬于管理信息系統(tǒng)的一種,管理信息系統(tǒng)的建設有較長的一段歷史,最開始是為了可以解決企業(yè)內(nèi)部信息管理過程中所存在的問題,逐漸發(fā)展出ERP系統(tǒng)。隨著科技水平的不斷提升,辦公室業(yè)務操作自動化水平有了很大的提升,又發(fā)展出了CRM系統(tǒng)[1]。由于這些系統(tǒng)的開發(fā)時間往往不一樣,這也就導致了這些系統(tǒng)的開發(fā)結構各不相同,隨著時間的推移,各系統(tǒng)之間的集成與新系統(tǒng)開發(fā)開始面臨一定的困難。2014年,微服務架構理念誕生,有效解決了各種異構系統(tǒng)的集成問題。為了可以有效解決企業(yè)中業(yè)務系統(tǒng)運行過程中相互依賴以及界限模糊的問題,研究出一種單一化的解決方案,并且形成了一套相對簡潔、高彈性的系統(tǒng)構架,也就是微服務構架。微服務構架可以靈活地運用虛擬容器的概念實現(xiàn)將單一的應用隔離。通常情況下,由于虛擬容器采用了Docker等技術,這也使得自動化集成以及部署、運維等工作在開展的過程中變得更加容易,同時也成功解決了異構系統(tǒng)的問題。對于微服務構架來說,在實際運用過程中應該注意將不同的應用進行微服務化,這樣一來也實現(xiàn)了對系統(tǒng)業(yè)務的自動化分配以及部署[2]。
在進行微服務構架設計的時候,要注意堅持以下原則。首先,單一職責原則。對于此項原則來說,其主要是指每一個應用或者服務只能夠完成一件事,從而精力得到集中,投入到一個特定的邏輯當中。例如,對于CRM系統(tǒng)來說,其主要是負責對客戶的相關數(shù)據(jù)進行采集、分析。其次,獨立性服務原則。獨立服務是每一個微服務系統(tǒng)開發(fā)所遵循的重要原則,微服務是一個獨立的開發(fā)以及組建過程,同時還會涉及測試、部署、運維以及系統(tǒng)優(yōu)化等等環(huán)節(jié),與獨立軟件相類似。最后,通信輕量級架構原則。微服務不同服務模塊之間的通信應該是輕量的,不能使系統(tǒng)資源耗費過多。同時,通信需要跨越語言以及平臺[3]。
從微服務系統(tǒng)在石油化工企業(yè)的應用情況來看,其整個構架分為三層,包括核心層、集成層和前端應用層。首先,對于核心層來說,其主要是為了實現(xiàn)各個服務,同時,也對運維監(jiān)控手段的應用進行監(jiān)督,從而保證系統(tǒng)的整體運行穩(wěn)定性,降低了在運行過程中受到外界因素影響的可能性;其次,對于集成層來說,其主要是將各個業(yè)務系統(tǒng)所提供的服務結構進行集成,這樣一來可以形成統(tǒng)一的服務標準,保證為應用層提供更高水平的服務[4];最后,對于前端應用層來說,其主要是通過服務路由以及負載均衡等手段來實現(xiàn)對服務項目的開發(fā),隨著我國信息化水平的不斷提升,服務項目的開發(fā)也變得越來越深入。現(xiàn)階段,石油化工企業(yè)內(nèi)部應用微服務系統(tǒng)還存在一定的問題,想要有效解決這些問題,可以嘗試從以下幾個方面入手。首先,應該注意對企業(yè)內(nèi)部各個系統(tǒng)的功能進行定位,各個系統(tǒng)的功能往往存在較大的差異性,對各系統(tǒng)功能進行精準定位也可以使系統(tǒng)相互獨立性得到提升。同時,還應該注意對業(yè)務系統(tǒng)對外提供的服務進行標準化。其次,要建立起統(tǒng)一的服務注冊中心,當其他系統(tǒng)需要進行服務調(diào)用的時候,可以在注冊中心的服務目錄當中準確查找,這樣一來也在很大程度上提升了服務匹配的效率以及準確程度,有利于提升微服務架構運行的整體穩(wěn)定性。
對于服務接口層來說,各個系統(tǒng)都會使用Restful接口來進行調(diào)用,這樣可以使得異構系統(tǒng)當中存在的問題得到有效調(diào)節(jié),同時也使得不同平臺以及不同開發(fā)語言之間存在的屏障得到有效消除[5]。同時,還可以使用Redis來對服務調(diào)用進行緩存,這樣一來也提升了整體運行工作的效率。此外,微服務系統(tǒng)當中的日志系統(tǒng)支持海量日志的讀寫,這也使得信息的儲存以及分析變得更加容易,效率也有了很大的提升。使用Docker作為容器對各個服務進行獨立部署,并為應用提供了隔離環(huán)境,使得文件系統(tǒng)的變化情況得到了有效監(jiān)督,系統(tǒng)配置操作的綜合獨立性也有所提升。
對于微服務系統(tǒng)來說,其在石油化工企業(yè)的落實應用有很多優(yōu)勢,在線狀態(tài)服務是最明顯的體現(xiàn)之一。微服務系統(tǒng)自身具備較強的實時性以及動態(tài)處理能力,微服務的業(yè)務邏輯與傳統(tǒng)的石油化工企業(yè)內(nèi)部業(yè)務運轉系統(tǒng)的運行模式還是存在很大區(qū)別的,微服務的業(yè)務邏輯相對簡單,并且在運轉過程中對系統(tǒng)資源的耗費也較為有限,這也使得微服務系統(tǒng)的整體運行效率較高,可以實現(xiàn)實時在線服務[6]。
微服務系統(tǒng)具備易于研發(fā)的優(yōu)勢,同時,系統(tǒng)具備單一、輕量以及獨立的特點,微服務系統(tǒng)還可以實現(xiàn)對業(yè)務數(shù)據(jù)以及代碼參數(shù)進行分析以及復用,自身具備較高的自動化能力。此外,微服系統(tǒng)還具備技術多樣性的特點,隨著現(xiàn)階段我國信息技術水平的不斷發(fā)展以及提升,微服務系統(tǒng)在石油化工企業(yè)的應用過程中體現(xiàn)出了跨越語言以及跨越平臺的能力,使得系統(tǒng)的整體運用范圍得到了提升,因此,開發(fā)微服務的時候并不是局限在某一個特定的平臺或者一種特定的語言上。無論是Java還是Node,只要滿足開發(fā)條件就可以實現(xiàn)服務構架的建立,并且可以實現(xiàn)對數(shù)據(jù)以及參數(shù)的系統(tǒng)化分析,更加方便了數(shù)據(jù)信息的相互替換,這樣一來也降低了開發(fā)成本。
對于石油化工企業(yè)而言,在進行生產(chǎn)業(yè)務操作的時候,往往會涉及多個生產(chǎn)環(huán)節(jié),在生產(chǎn)的過程中很可能會受到多種因素的影響,應用微服務系統(tǒng)可以使這種影響得到有效降低。主要是因為微服務系統(tǒng)具備易于升級以及修改的特點,微服務系統(tǒng)的一個服務系統(tǒng)出現(xiàn)bug之后,并不會影響到整個系統(tǒng)的運行穩(wěn)定性,因為微服務具備輕量級特性以及接口明確特性[7]。同時,微服務系統(tǒng)還遵循獨立性的原則,當bug修改完成之后可以在第一時間進行集成操作。對于微服務系統(tǒng)來說,在石油化工企業(yè)生產(chǎn)操作的過程中,一旦受到外界因素的影響,或者是其中某一個服務出現(xiàn)bug,可以及時報警警示,這樣一來問題會在第一時間被發(fā)現(xiàn),這也使得問題可以得到及時的處理。
綜上所述,隨著我國社會經(jīng)濟水平的不斷提升,石油化工行業(yè)的發(fā)展也已經(jīng)進入一個新的階段,其發(fā)展規(guī)模在不斷擴大,我國石油化工行業(yè)呈現(xiàn)出一片繁榮景象。傳統(tǒng)的石油化工企業(yè)業(yè)務系統(tǒng)在實際應用的過程中往往存在各系統(tǒng)服務界定不明確的情況,這也就導致了服務系統(tǒng)自身的獨立性較差,在實際運行的過程中也經(jīng)常會出現(xiàn)相互影響的情況。微服務系統(tǒng)的應用與現(xiàn)階段我國石油化工企業(yè)發(fā)展的實際情況更加符合。隨著石油化工企業(yè)發(fā)展規(guī)模的不斷提升,各類信息的龐雜性也在不斷擴大,對其進行高效的分析以及整理往往是存在很大困難的。隨著企業(yè)信息系統(tǒng)構建的不斷完善,微服務的運用也逐漸深入,使得石油化工企業(yè)系統(tǒng)重復以及系統(tǒng)構架混亂的問題得到了有效解決。隨著微服務的獨立部署,企業(yè)多個業(yè)務部門的實際需求也得到了有效滿足。