朱 祺,朱偉暐
(中國電力工程顧問集團華東電力設計院有限公司,上海 200001)
隨著近年來“互聯網+”的不斷推進和數字經濟的不斷發展,各類企業都在積極推進自身信息系統建設并在此過程中廣泛應用云計算和大數據技術以確保建成的系統符合主流信息技術水平并為后續的擴建和改造留有充足的空間和接口。能源企業的信息、業務和數據與以面向商業服務為主的互聯網公司相比具有明顯的差異,如業務較為集中、服務要求有更高的可靠性、數據有更高的保密性要求等。因此在進行信息系統架構設計時無法完全參照大型互聯網公司所采用的主流系統架構方式,需要在主流架構的基礎上根據自身的業務特點和期望實現的目標進行取舍或改造。信息系統架構經歷了數次比較大的模式、理念和技術升級,從而進步到了目前能夠成功應對大規模流量的分布式服務化系統架構,因此各類大型企業目前在信息系統建設架構方案設計時自然而然地會優先考慮采用分布式服務化框架。能源企業往往體量大但是業務卻相對集中,因此在信息系統總體架構設計過程中對于分布式服務化框架在能源數據中心信息系統的適用性方面進行研究具有實際意義。
隨著數據時代的到來,數據的井噴使信息系統的總體架構經歷了單機架構、集群架構、分布式架構、分布式多活數據中心架構四個階段[2]。伴隨著總體架構一同演變和升級的還有各種中間件、存儲系統和外圍系統,比如對關系型數據庫進一步進行分庫分表改造、流量和數據的處理從本地緩存過渡到分布式緩存等。信息系統從上線初期開始就是在不停的迭代升級過程中通過自身架構的發展和演變滿足其自身業務的發展,因此業務需求是信息系統總體架構設計的核心[1]。在業務需求相對簡單的早期,如圖1所示的單機架構即可滿足要求。

圖1 典型單機架構方案[2]
隨著企業各類業務的發展和并發流量的增加,單機系統架構因為單體應用過為龐大而造成信息系統在開發的效率、部署的靈活性和運維的效率方面產生了諸多問題,通過調整和優化架構設計模式來解決這些問題的核心是提升業務系統并行處理能力的同時降低單機系統負載,確保增量業務的部署和存量業務的升級。因此,信息系統的總體架構發展為通過將多臺獨立的服務器通過網絡相互連接從而形成一個有效的整體對外提供服務的分布式集群架構如圖2所示。

圖2 典型分布式集群架構方案[2]
云計算和虛擬化技術是支撐分布式集群架構落地實施的基礎,這樣當單臺服務器的處理能力接近或已超出其容量上限時不用更換性能更高的服務器,而是采用云計算來通過增加新的虛擬服務器來分散并發訪問流量,只要上層業務系統的設計能夠支持虛擬服務器的橫向彈性伸縮,那么從理論上來說就能在服務器集群總的計算力范圍內實現可伸縮性和高可用性。雖然虛擬化的過程中因為對虛擬服務器進行調度和控制的控制節點會分走一部分計算力而造成性能損耗,但是使用集群架構的目標收益仍然遠高于所付出的損耗代價。
隨著企業體量的逐漸龐大,業務需求隨之變得復雜,通過以業務功能為維度拆分出多個子系統以能夠更清晰地規劃和體現出每個子系統的職責、降低業務耦合以及提升容錯性為目標使信息系統架構在分布式集群架構的基礎上衍生出了服務化架構。以往在各種不同類型的業務需求下系統中往往會存在數個會被頻繁調用并且完全可以共享的業務,而且業務系統中諸如數據庫連接限制之類的底層資源必然會限制業務系統所允許橫向擴展的節點數量。服務化架構通過將原本耦合在單一節點中的共享業務邏輯進一步剝離,使各類共享業務的邏輯處理由獨立部署的節點負責,從而使其他以單一服務為主的業務應用無須再處理共享業務邏輯,因此整個系統的計算資源利用率會得到提升,如圖3所示。

圖3 典型分布式服務化架構方案[2]
之后提出的微服務架構理念從本質上來說和服務化是一個概念,因為從系統全局上進行分析,微服務無非就是更進一步細化服務拆分過程中的粒度,當粒度越細時業務的耦合就越小,整個系統的容錯性就越好,并且在云平臺上進行彈性擴展也會越容易。但是,粒度過細不僅會增加維護成本,影響排查問題時的效率,還會讓后續業務開發人員很難梳理清楚諸多服務之間的依賴關系,這也是采用服務化架構特別是微服務架構中需要避免的問題。
面向服務的設計理念結合了集群架構分布式的特點最終使分布式服務化架構呈現以下幾個特點:
1)信息系統成為了一個以各類應用服務來滿足業務需求的生態;
2)各類應用中的業務邏輯不存在緊密耦合關系;
3)存在會被各類其他業務頻繁調用且業務邏輯相對獨立的共享業務;
4)能夠很好的利用云平臺彈性伸縮的特點對業務所需計算力進行合理分配和部署調整;
5)業務的細粒度結合云平臺的彈性特征使整個系統的容錯性較好,不會因為單一節點故障影響整個業務模塊從而無法提供服務;
6)信息系統規模一般較大,不然既無法發揮業務細粒度的優勢也無法發揮云計算的彈性優勢。
信息系統總體架構模式演變和升級至分布式服務化架構的驅動力是業務在不斷的發展過程中帶來的需求,而各類業務之間交互的本質就是一個數據和信息的交互過程。隨著信息基礎設施技術的發展,海量數據的接入成為可能,而如何最大化地發揮出信息基礎設施的性能以確保能從這些數據中提煉出更多有價值的信息使整個信息系統的架構設計模式必須隨之改變,更多的信息和數據又為各類業務的發展提供了資源支撐[3]。因此,數據時代下信息系統架構的適用性分析過程中可以以承載業務所需要的數據能否被有效接入和高效處理作為判斷標準。
樣品取自于涉縣東南部嶺底村附近,寒武系張夏組上部。該巨鮞灰巖最大厚度約2m,EW向延伸數千米。上覆泥質條帶灰巖,下伏灰色中厚層鮞狀灰巖。該組地層的形成起因于中朝準地臺在寒武紀的第一次沉降,形成了大規模海侵,在張夏階形成廣泛的潮間瀉湖相、局限海和水下淺海相沉積[7]。
本文參考大數據的4V特征來進行大規模分布式服務化架構在能源數據中心信息系統的適用性分析,即:規模性(Volume)、高速性(Velocity)、 多 樣 性 (Variety)、 價 值 性 (Value),4個特征的具體表現見表1所列。

表1 大數據的4V特征及表現
能源數據的與大數據4V特征的匹配結果如表2所示。

表2 能源數據與大數據4V特征匹配結果
從滿足規模性角度進行分析,根據不同信息系統總體架構模式的特點,分布式集群架構和分布式服務化架構都能夠滿足能源數據的龐大規模,由于面向服務的主要理念是滿足業務需求的發展,因此如果信息系統的業務較為集中但是單一業務的數據量龐大,分布式集群架構即可滿足要求而非必須采用分布式服務化架構。
從多樣性角度進行分析,能源企業各類對內業務和對外業務都較為復雜并且數據之間的關聯性極強,因此能源數據中心的信息系統必然能夠拆分出一些共享業務,在這個基礎上采用分布式服務化架構完全能夠適應復雜業務生態之間的相互調用并且為未來新業務的部署創造一個具有充分可拓展空間的平臺,明顯優于分布式集群架構。
從高速性角度進行分析,能源行業的部分業務對于計算的實時性要求極高,其中一些甚至要求系統的時延在數毫秒內,在大規模數據接入的同時要做到如此強的實時性只能采用分布式架構,但是和是否采用服務化架構卻沒有必然關系,核心的問題在于如何通過整體架構的設計優化和采用合適的流計算引擎來最大地發揮云平臺的彈性計算能力。
從價值性角度進行分析,能源數據的價值性非常高,甚至對于行業外的領域仍然具有很大的影響力,較高的價值代表在對外業務的發展上具有很大的拓展空間,因此信息系統在進行設計時有必要考慮目前所建設的平臺對于未來業務的拓展是否具有良好的承載力,分布式服務化架構即是在業務快速發展的前提下誕生,能夠承載對外業務的快速拓展是其原生使命。

表3 能源數據中心信息系統對架構的需求
因此,從系統需要處理的數據量角度,能源數據中心信息系統建設過程中采用分布式架構(包括分布式集群和分布式服務化)是非常有必要的。在此基礎上進一步采用分布式服務化架構并不是必須的選項,但是隨著能源數據的高價值被不斷挖掘,各類業務的增多使分布式服務化架構對未來業務的拓展需求有更好的適應性。
本文通過對信息系統總體架構模式的升級路徑、大規模分布式服務化架構的核心組件的組成和功能進行梳理和研究,在此基礎上根據能源數據的特點對大規模分布式服務化架構在能源數據中心信息系統的適用性進行研究,得出結論如下:
1)大規模分布式服務化架構的最大特點是能夠應對海量數據的接入和處理,核心是能夠滿足業務快速拓展的需求。
2)大規模分布式服務化架構是一個由服務注冊與發現、負載均衡和反向代理服務器、服務網關、配置中心和鏈路追蹤等核心組件及其他功能組件所組成的分布式框架。
3)以大數據4V特征進行分析,分布式架構完全適用于能源數據中心信息系統。
4)在分布式架構基礎上進一步采用分布式服務化架構有利于能源企業為因能源數據的高價值而預期可能產生的業務快速拓展提前在信息系統層面做好準備,但也并非是當前必須的選項。