龔方生
(廣州涉外經濟職業(yè)技術學院 廣東省廣州市 510540)
在計算網絡技術的不斷發(fā)展和普及下,軟件體系架構在信息系統(tǒng)的整體設計中愈發(fā)重要,傳統(tǒng)單體架構設計模式具有耦合度高、業(yè)務模塊復用性差等問題,無法滿足現(xiàn)代用戶的使用需求,為了從根本上解決以上問題,現(xiàn)提出一種微服務架構,該架構通過使用Docker 技術,不僅可以實現(xiàn)對信息系統(tǒng)業(yè)務功能的科學劃分,還能保證服務功能的全面性和便捷性,為提高信息系統(tǒng)的負載均衡性能發(fā)揮出重要作用。因此,為了進一步提高微服務架構設計水平,如何將Docker 技術科學應用于微服務中是相關人員必須思考和解決的問題。
Docker 技術作為一種輕量級容器引擎,具有開源性、隔離性等特征,通關利用該技術,可以采用容器形式,實現(xiàn)對獨立虛擬網絡空間的創(chuàng)建和使用,該網絡空間主要由處理器、內存、硬盤等組成,此時,用戶通過利用Docker 服務器鏡像,可以采用打包移植的方式,將應用程序存儲到系統(tǒng)鏡像中,從而形成一個新型、先進的容器,通過將該容器安裝和部署到任意含有Docker 服務器的機器上,可以實現(xiàn)對網絡協(xié)議的有效共享和利用,為提高網絡協(xié)議的交互效率和效果打下堅實的基礎。近年來,隨著微服務應用系統(tǒng)的不斷增多,Docker 技術被廣泛地應用于微服務應用系統(tǒng)部署中,確保微服務應用系統(tǒng)能夠可靠、穩(wěn)定、安全地運行。
自動化運維平臺核心功能設計示意圖如圖1 所示,從圖中可以看出,該平臺主要由以下幾個部分組成,分別是系統(tǒng)資源管理功能、系統(tǒng)安裝部署管理功能、系統(tǒng)配置管理功能和系統(tǒng)監(jiān)控管理功能。其中,系統(tǒng)資源管理功能主要是指通過采用統(tǒng)一化管理方式,對云平臺軟硬件資源進行集中化管理,以實現(xiàn)對云計算資源、存儲資源和網絡資源的科學分配和充分利用;系統(tǒng)安裝部署管理功能主要是指根據(jù)實際運維需求[1],采用自動化控制的方式,實現(xiàn)對相關操作系統(tǒng)的安裝和升級以及系統(tǒng)開發(fā)環(huán)境的自動化構建和部署。系統(tǒng)配置管理功能主要是指采用統(tǒng)一化管理方式,對系統(tǒng)所有配置文件進行全面管理,同時,還要對本地資源和遠程資源進行統(tǒng)一化配置和管理。系統(tǒng)監(jiān)控管理功能主要是指實時監(jiān)控多態(tài)服務器運行狀態(tài)[2],并做好對微服務容器可靠性和安全性的有效檢驗,為其他平臺提供相關參數(shù)數(shù)據(jù),實現(xiàn)相關信息數(shù)據(jù)的有效共享,以達到提高信息數(shù)據(jù)利用率的目的。
圖1:自動化運維平臺核心功能設計示意圖
圖2:微服務架構設計示意圖
在云計算技術的應用背景下,自動化運維平臺可以在最短時間內實現(xiàn)對多個服務器的部署,服務器部署主要包含以下幾個環(huán)節(jié):系統(tǒng)搭建和安裝、系統(tǒng)環(huán)境參數(shù)配置、系統(tǒng)軟件性能檢測等。傳統(tǒng)服務器部署方式,無法滿足高效快捷的處理需求,而Docker 技術出現(xiàn)和應用可以保證服務器部署的便捷性和高效性,從而有效地彌補傳統(tǒng)服務器部署方式的缺陷。自動化運維平臺在具體的運用中,通過利用Docker 技術,對多個應用服務器進行部署,不僅可以實現(xiàn)系統(tǒng)參數(shù)信息的一次性配置,還能完成對多個服務器的統(tǒng)一化、集中化部署,極大地提高服務器部署的效率和效果。同時,通過利用自動化運維平臺[3],還能針對服務器蓄電池組部署需求變化,對部署步驟進行相應的調整和優(yōu)化,確保在業(yè)務較多的情況下,也能采用容器管理的方式,實現(xiàn)對計算機資源的充分利用,為進一步提高微服務的運維效率和效果打下堅實的基礎。自動化運維平臺通過利用Docker 技術,可以實施監(jiān)控和管理應用系統(tǒng)實際運行狀態(tài),同時,還能促進保IT 開發(fā)、技術運營和系統(tǒng)質量的協(xié)調發(fā)展,使得開發(fā)人員與運營人員進行有效地合作,打破兩者之間的界限[4],同時,在Docker 技術的應用背景下,當信息系統(tǒng)部署操作范圍縮小時,該系統(tǒng)性能會不斷增強,從而為用戶帶來良好的使用體驗。
在云計算背景下,分布式系統(tǒng)在實際的運行中,很容易出現(xiàn)負載均衡問題,而Docker 技術出現(xiàn)和應用可以很好地解決這一問題。在Docker 技術的應用背景下,根據(jù)微服務運維需求,采用多節(jié)點部署的方式,完成對大量重復調用的業(yè)務功能的統(tǒng)一化簡化和處理,同時,還要借助微服務的服務注冊功能,實現(xiàn)對微服務節(jié)點的集中化、統(tǒng)一化管理[5],一旦某一容器被重復調用時,可以借助微服務應用程序,采用調整節(jié)點的方式,盡可能選出負載較小的應用程序,為實現(xiàn)對系統(tǒng)負載均衡問題的有效解決創(chuàng)造良好的條件。
最近幾年,隨著容器云技術的不斷發(fā)展和普及,云計算服務模型種類中不斷增加,目前,云計算模型主要包含以下幾種,分別是基礎設施服務、平臺服務、軟件服務。容器云主要是指通過采用虛擬化處理方式,對應用程序內部信息數(shù)據(jù)以及程序資源的統(tǒng)一化部署和管理,從而提高系統(tǒng)相關資源信息部署的高效性和便捷性[6],為進一步提高系統(tǒng)的運行性能打下堅實的基礎。此外,系統(tǒng)作為Docker 容器的重要組成部分,其運行性能直接影響了Docker 容器的可靠性和安全性,為了進一步提高Docker 容器的使用性能,需要借助集群編排管理工具,對容器集群進行統(tǒng)一化維護和管理,確保容器集群始終處于良好的運行狀態(tài)。此外,為了進一步提高微服務架構的設計水平,還要借助容器云,對各個微服務的部署問題進行有效地分析和解決,為實現(xiàn)對微服務架構的科學設計,實現(xiàn)微服務的科學劃分打下堅實的基礎。
微服務架構設計示意圖如圖2 所示,從圖中可以看出,微服務架構主要包含五個層次,分別是云平臺層、應用層、接入層、服務層和容器層。其中,云平臺層的位于微服務架構的最底層,主要為微服務提供虛擬化資源或者硬軟件資源[7],這些資源主要包含計算資源、網絡資源以及存儲資源等。容器層處于云平臺的上方,主要為微服務提供安全、可靠的運行環(huán)境,通過利用該運行環(huán)境可以實現(xiàn)相關事務的虛擬化處理。容器作為一種基本單元,在系統(tǒng)管理中發(fā)揮出重要作用。通過利用容器層,可以實現(xiàn)對容器集群的實時監(jiān)控、調度以及彈性伸縮和編排,為鏡像存儲提供重要的依據(jù)和參考。服務層主要以下功能組成的[8],例如:服務注冊功能、目標分析服務功能、情報管理服務功能等。接入層在具體的運用中,主要向外部應用提供相應的服務請求,確保系統(tǒng)負載的均衡性和穩(wěn)定性。應用層處于微服務架構的最頂層,很好地反映了實際業(yè)務的典型應用。
圖3:容器集群架構圖
對于作戰(zhàn)籌劃微服務系統(tǒng)而言,其作戰(zhàn)籌劃主要是指通過對預先設計和籌劃作戰(zhàn)活動,確保作戰(zhàn)活動能夠正常、穩(wěn)定、有序地開展,參與作戰(zhàn)籌劃的人員主要由指揮員、情報員和通信員組成,其中,指揮員主要根據(jù)對上級命令傳達的命令,對戰(zhàn)場情況進行綜合分析,并向各級軍官傳達作戰(zhàn)命令,各級軍官根據(jù)接收到的作戰(zhàn)命令,制定和完善作戰(zhàn)方案,并將制定好的作戰(zhàn)方案上傳到指揮員,由指揮員對其進行審批。現(xiàn)根據(jù)這一作戰(zhàn)籌劃流程,設計以下幾種類型的微服務,以實現(xiàn)對作戰(zhàn)籌劃微服務系統(tǒng)的科學分解。
(1)利用微服務的服務注冊中心功能,完成對微服務的科學注冊。
(2)借助監(jiān)控面板功能,對微服務進行可視化、自動化監(jiān)控。
(3)利用系統(tǒng)入口,實現(xiàn)對系統(tǒng)運行狀態(tài)的實時監(jiān)控。
(4)根據(jù)作戰(zhàn)需求,完成歲管理服務方案的科學制定。
(5)借助作戰(zhàn)力量,提高管理服務水平,并繪制出敵方作戰(zhàn)力量列表,以達到知彼解,百戰(zhàn)不殆的目的。
3.3.1 容器集群框架
通過利用Docker 技術,可以采用容器化封裝的方式,完成對微服務的科學封住,并提高微服務應用隔離效果。通常情況下,容器的啟動速度遠遠超過了虛擬機的啟動速度,同時,還有效地節(jié)約了資源,避免出現(xiàn)大量資源消耗問題。目前,作戰(zhàn)籌劃微服務系統(tǒng)主要以中標麒麟服務器應用為主,通過部署和搭建操作系統(tǒng)[9],可以實現(xiàn)對Docker 容器集群的快速搭建和應用,使得容器成為微服務可靠、穩(wěn)定運行的重要載體。容器集群架構圖如圖3 所示。從圖中可以看出,該集群架構在具體的搭建和設計中,主要采用了多種新型、先進的技術,通過利用存儲工具,完成對服務器自動化注冊,同時,還為Docker 容器集群運行提供了安全、良好的運行環(huán)境就,為提高網絡覆蓋范圍,高效調度鏡像管理和容器提供有力的保障。同時,在可視化工具的應用背景下,運維人員可以實時監(jiān)控Docker容器集群,為有效地檢測和維護該集群的運行狀態(tài),提高該集群的運行性能產生積極的影響。此外,通過利用具kubernetes 容器集群工具,可以實現(xiàn)對Docker 容器集群的自動化、智能化調度和管理,以達到有效提高該集群的彈性伸縮性能的目的。
3.3.2 容器化封裝
Docker 鏡像作為容器的重要組成部分,通過利用Dockerfile 文件,可以將微服務與其相關運行環(huán)境進行有效地封裝,使其封裝為一個Docker 鏡像,并將該鏡像存儲于倉庫中,便于其他人員的查看和調用。同時,為了保證容器化封裝的科學性和合理性,還要重視對運行環(huán)境變量的科學設置,并借助容器啟動入口,完成對Docker 鏡像的科學搭建。
系統(tǒng)驗證主要體現(xiàn)在以下兩個方面:
(1)異常自恢復功能驗證。當微服務數(shù)量與設定值相一致時,一旦某個微服務容器組出現(xiàn)運行異常時,微服務控制器會在第一時間內自動啟用另一個微服務容器組,使得微服務數(shù)量與設定值保持一致,由此可見,系統(tǒng)異?;謴凸δ芊€(wěn)定可靠。
(2)彈性伸縮性功能驗證。當系統(tǒng)內部設置了HPA 服務時,一旦微服務容器所消耗的資源超過了已設定的閥值,系統(tǒng)會自動啟用彈性伸縮功能,從而增加微服務容器數(shù)量,以滿足資源使用需求。為了更好地驗證系統(tǒng)彈性伸縮功能,相關人員要設置好微服務部署數(shù)量以及CPU 內存指標,然后,采用負載模擬的方式,對微服務容器組進行處理,結果發(fā)現(xiàn):所有微服務容器組出現(xiàn)不斷擴展現(xiàn)象,這說明系統(tǒng)具有較強的彈性伸縮功能。
綜上所述,微服務架構憑借著自身高準確性、強靈活性等特征被廣泛地應用于云計算系統(tǒng)、分布式應用系統(tǒng)中,并取得了良好的應用效果,而Docker 技術在信息系統(tǒng)的設計開發(fā)中發(fā)揮出重要作用,不僅實現(xiàn)了對應用系統(tǒng)的科學設計和部署,還實現(xiàn)了計算機資源的快速共享,提高了計算機資源的利用率,確保應用系統(tǒng)具有耦合度地、業(yè)務模塊可復用性高等特征,為進一步提高應用系統(tǒng)的運行性能提供重要的技術支持。