本站小編為你精心準備了淺談微服務架構下的系統設計應用參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
【關鍵詞】微服務;異構性;擴展性;信息系統
1引言
隨著云計算、大數據、互聯網的發展和普及,企業的應用系統的規模越來越大,越來越復雜,給系統的設計開發、運行維護等帶來了巨大的挑戰。因此,為了提高應用系統的開發效率和維護便捷性,提出了微服務架構思想。基于微服務架構技術,能有效解決大型軟件單體架構帶來的研發周期長的問題,能夠快速響應用戶需求。
2基于微服務架構的系統設計優勢
基于微服務架構的軟件信息系統可以按照每一個邏輯業務功能進行原子化劃分,構建一個邏輯獨立的應用軟件系統,提高每一個模塊的操作執行效率,可以解決復雜問題,同時還可以節約硬件資源。在功能模塊化、微服務化的情況下還可以提高處理效率,解決編碼過于復雜的問題,改善編碼的應用效果。在傳統的應用系統設計過程中,人們需要選擇不同類型的技術,但是在微服務架構下,其可以利用中心化的組織架構,不需要過度重視某一個重點,這樣就可以根據應用服務范圍不同確定技術種類,實現一對一的技術性服務,提高系統運行與處理效率。本文通過總結發現,基于微服務架構的系統設計具有很多優勢,比如服務技術異構性、服務的擴展性和部署簡單化。
2.1服務技術異構性
微服務架構的每個服務不是必須采用一致的語言或技術,可以選擇一個適合的開發技術和程序設計語言,因此一個團隊可以根據情況選擇最熟悉的技術,這樣就可以更好地支撐當前的應用軟件。
2.2服務的擴展性
目前,一個軟件系統的功能非常多,同時隨著系統運行和使用,未來還需要添加更多的服務功能。傳統的系統架構可擴展性比較弱,基于微服務架構的系統則可以提升擴展性,每一個系統模塊都擁有獨立性,因此就可以單獨進行擴展,不需要涉及其他的功能模塊和底層架構,這樣就可以提高系統的服務能力。
2.3簡化部署
基于微服務架構的系統可以針對服務功能進行單獨處理,自頂向下針對系統的功能服務進行劃分,每一個服務都屬于一個單獨的模塊,各個模塊之間是邏輯獨立的,因此每一個服務的部署都是單獨的,這樣就可以有效簡化系統部署工作。在傳統的系統部署過程中,一旦某一個功能模塊發生故障或問題,就會導致系統整體無法部署,采用微服務架構開發的系統則可以只關注出問題的模塊,這樣就可以提高整個系統的部署效率。
3基于SpringCloud微服務架構的設計與開發
SpringCloud是近幾年開始流行的微服務框架,它利用SpringBoot的開發便利性巧妙地簡化了分布式系統基礎設施的開發,如服務發現注冊、配置中心、消息總線、負載均衡、斷路器、數據監控等,都可以用SpringBoot的開發風格做到一鍵啟動和部署。SpringCloud是一個應用非常廣泛的組件,能夠為軟件開發帶來較多的技術支持,可以在微服務應用架構設計中提供標準框架,以便能夠實現以微服務為架構的基礎程序代碼。基于SpringCloud微服務架構的應用系統設計過程中,首先需要創建一個SpringCloud配置服務器,創建一個Java程序開發框架,在SpringBoot基礎上進行系統構建,然后軟件設計師就可以激活這個應用服務功能,同時可以繼續地配置服務器,完善系統服務的訪問路徑。其次,系統設計與開發還可以利用微服務注冊技術,注冊完畢之后就可以發現系統中的功能模塊,實現系統的集成和通訊傳輸,自動化的注冊可以提高微服務架構軟件的靈活性和部署簡潔性。最后在用戶交互界面方面,使用AngularJS組件綁定數據模型和頁面變量,完成完整微服務的開發和創建。
4基于SpringCloud微服務架構在物流信息系統中的應用研究
隨著近些年物流業的快速發展對信息系統提出了更高的要求,需求變化頻度不斷提高,傳統大型項目的單體式開發模式已經不太適應快速的變化,需要更靈活的架構模式。因此在企業的實踐中引入了微服務架構模式來應對。微服務架構中服務的分割也是需要重點考量的問題。雖然服務的劃分能夠使得系統更靈活,但是太細粒度的分割也會使得系統的服務和服務之間的交互變得錯綜復雜,難以管理。因此在構建物流系統是采用了模塊級別的服務劃分,數量大約在20個左右的水平,主要劃分為基礎服務、訂單服務、產品服務、運價服務、供應商管理服務、報表服務等等。這樣的設計模式既能夠發揮微服務的優勢也能夠保持系統的易維護性。具體的應用架構如圖1所示。該應用平臺采用了6層架構來實現,即客戶端,網關層,微服層,業務層,資源存取層和資源層,并進行了一定拓展。具體說明如下:
4.1客戶端
提供Web應用和GUI應用給最終用戶使用。Web客戶端和GUI客戶端采用Http/Https協議和網關層通信。
4.2網關層
為外部提供統一的網關接口,以及路由,安全控制等功能。
4.3微服層
微服務層為所有的微服務統一提供一個注冊發現中心,并配合網關層對外開放API接口。每個微服務實現一套獨立的功能,并且可以獨自部署,橫向擴展。
4.4業務邏輯層
業務邏輯層是整個統一信息管理系統的核心模塊,實現所有的業務邏輯。本層主要包括3種組件,即:(1)業務Biz提供統一的業務服務調用,包括提供給服務層調用。(2)業務組件對象封裝一個業務功能。(3)業務對象封裝業務模型數據。
4.5資源存取層
封裝和外部資源的通信。主要提供3種類型的集成,即:(1)數據集成,封裝數據訪問,例如數據庫和文件訪問;(2)消息集成,封裝和消息中間件的通信,如MQ等;(3)應用集成,封裝和外部系統的交互。
4.6資源層
系統的外部資源。對于集成層,同時具有3種類型的資源:數據源資源、消息資源、應用資源。
4.7基礎服務
對微服務層,業務邏輯層,資源存取層提供公共的服務,主要包括緩存服務,傳輸對象,文件日志,數據庫日志,權限管理,事務管理,任務調度模塊等。4.8Spring容器管理業務邏輯層、集成層、基礎服務都在Spring的容器管理中。Spring提供依賴注入和控制反轉等功能。基于以上應用架構搭建的物流信息系統經過實踐證明,達到良好的性能指標。開發人員更加專注于業務模塊的開發,系統架構師負責總體協調微服務的運維,使得系統開發效率更高,能應對快速變化的業務需求。
5結束語
微服務架構能有效提升應用系統處理復雜事物的能力,通過高內聚和低耦合手段簡化系統的設計。基于微服務的模塊具有較高的自治性,可以按照獨立實體模式存在和運行。SpringCloud是非常優秀的微服務架構體系,在實踐中有廣泛的應用,基于SpringCloud微服務架構搭建物流信息系統,經過實踐證明,能夠快速適應需求的變化,達到設計初衷,具備一定的實踐價值。
參考文獻
[1]洪華軍,吳建波,冷文浩.一種基于微服務架構的業務系統設計與實現[J].計算機與數字工程,2018,46(1):149-154.
[2]李春陽,劉迪,崔蔚,等.基于微服務架構的統一應用開發平臺[J].計算機系統應用,2017,26(04):45-50.
[3]向彬彬,馬明星,童茂林,等.基于微服務架構的分布式測距系統的研究與設計[J].計算機應用與軟件,2018,35(5):95-100.
作者:鄭冰 單位:中遠海運集裝箱運輸有限公司