魏遠鵬
廣州天源信息科技股份有限公司 廣東 廣州 510520
隨著社會的進步與科技的發展,以多維服務構架為主的統一性應用平臺的開發與運用已經全面用于大型公司的管理和相關業務的拓展。本文基于筆者廣州天源信息科技股份有限公司多年工作經驗在微服務的開發框架思路下,全面優化系統高度耦合框架模塊,逐步進行微服務解耦應用。根據測算,構架能在投入有限前提下適應輕量級嵌入式應用容器并在負載均衡策略多維可靠運用保障前提下全面進行系統工作優化。
大型企業由于業務下發和服務工程的拓展需要自我升級性強、維護性好、開發方式靈活的應用系統構架。所以避免重復率代碼和團隊作業效率低下,需要進行系統的輕量化構架設計和多業務DIY拓展端口研發。運用應用平臺多角度解決生產問題。
某公司由于業務發展基于傳統國企架構體系進行搭建。管理機構較為臃腫和龐大,相應應用系統業務模塊更是依照這種體系進行搭建的,不具備深化改革前瞻性,而且企業的運營導致相應業務數據大規模幾何式增長。但是市場拓展有對相應版塊業務用戶對功能性的要求卻日益增高。傳統背景下的單一應用構件無法滿足公司為了大規模集成式信息化發展。根據筆者前期調研,這種問題主要表現在:(1)大型國有企業業務系統單一呆板,在龐雜業務代碼下相應交互性組件耦合程度較高。導致應用層同種數據多次輸入和統計。系統維護性差,升級換代難;(2)業務模塊設計銜接性不強。且關聯度和應用性不成權重一致性,無法進行歸一化和迭代數據鏈式的調用與綜合數據分析。冗長復雜的業務流程最終誘發系統響應時間過長,權限調用難度大。新功能開發上線困難;(3)系統魯棒性差,一旦某一功能組件故障則會引起下游業務鏈斷線,導致相應模塊不能正常使用;(4)功能拓展當面,在傳統性單一部署前提下的系統設計,單一的應用模塊的部分偏I/O密集型、某些部分卻偏CPU密集型,在功能上存在矛盾性。而應用抓取部署通常在一臺處理器上無法提供合理的硬件資源支持。更不能保證多用戶實時抓取數據和業務共享。
平臺按照“開發標準化、系統模塊化、操作工具化、運行容器化,應用服務化”的總體目標,把微服務開發框架、相應的技術和工具整合到平臺中,平臺主要包括集成開發工具、基礎服務框架、應用開發套件三大功能組件.總體功能架構如圖1所示.

圖1 平臺功能架構
建立在維護角度的集成性開發工具主要由友好可視化界面設計器、智能化模塊調用編碼器和相關輔助工具綜合組成。該種組合模式能在業務系統高效運轉下進行密切式的人機開發功能組件模式;例如在基礎服務框架中就涵蓋便于隱蔽底層操作細節的微服務式集群管理插件,在遠程調用和分布式管理上具備模塊化功能和分布式存儲優勢;而集中日志能記錄基礎性技術組件;并在后續的應用開發套件上進行MX式的展示框架呈現,并報表化處理。待這些套件組合完成就能以業務系統邏輯的形勢進行保障化功能展示,高效運行。
平臺微服務開發框架基于約定優于配置的思想,封裝了支撐微服務構建的組件庫,不需要繁瑣的配置即可使用Java語言開發微服務.平臺總體技術架構如圖2所示.

圖2 平臺總體技術架構
平臺提供基于dropwizard microservice開發組件,使用jetty web容器,引進澤提供標準rest風格的web訪問,集成數據持久層訪問組件,如hibernate提供服務注冊和發現功能,自動注冊本地服務注冊表,選擇最優服務地址通過可選的負載均衡策略,并提供輕量級的RPC。在開發階段,根據微服務框架包的特點,將平臺各模塊的包插件集成到微服務中,如任務調度、大數據組件、報表、演示框架等。
同時,平臺提供分散的分布式服務注冊中心,在每個節點上啟動一個注冊中心。不同節點的多個注冊中心之間不存在主次差異,降低了注冊中心的壓力。一個注冊中心的停機不會影響集群中的其他注冊中心。對于注冊中心節點的停機時間,它提供了自動檢測故障節點的機制和周期性恢復功能,為注冊中心的正常運行提供了雙重保障。
該平臺提供了分散式的服務注冊機制,具有容錯性和高可用性。它并不維護高可用性的服務注冊中心,而是將其分散到集群中的每個節點。開始注冊模塊在每個節點上,沒有多個注冊模塊主要或次要區別不同的節點,從而降低的壓力登記模塊,其中每個注冊模塊的失敗不會影響集群中其他注冊模塊,有效地避免系統故障的風險造成的失敗只有一個注冊模塊。針對注冊模塊節點的故障,提供了故障節點的自動檢測機制和周期性恢復功能,為注冊模塊的正常運行提供了雙重保障。
同時,平臺微服務開發框架提供本地化的服務注冊和發現功能。服務只需要在本地注冊模塊注冊。集群中不同注冊模塊之間的注冊信息是同步的,同步過程不需要響應,有效降低了網絡資源的消耗。從本地注冊模塊獲得的注冊信息是在集群中注冊的所有服務信息。該平臺自發布以來,已應用于SGCC的多個重點項目,包括基礎設施管控、協同研發工具等。基于微服務架構的統一應用開發平臺,分散的服務注冊,高性能的遠程進程調用框架,健壯的負載均衡策略,極大的完善了業務系統。開發和維護的效率提高了系統的可擴展性和可靠性。
綜上所述,在微服務框架下,統一而高效的業務開發平臺能為生成服務多維度開發標準建立操控性框架。極大屏蔽復雜細節前提下的編程繁瑣和調試缺陷。全面幫助研發人員進行業務代碼的模塊化編寫,最終配置微服務技術類別。快速建立起一個高內聚、低耦合的微服務應用,達到“開發標準化、系統模塊化、應用服務化”的目標.