毛正雄 楊震乾 薛永軍



摘要:隨著信息通信技術推動智能電網創新發展工作的開展,電力云平臺的建設舉足輕重,并在業務集成、數據共享等方面取得了突破性進展,然而業務功能的迅速增加及系統規模的膨脹給電力云建設帶來了新的挑戰。文章分析了電力企業實時通信服務架構及微服務的內涵,并對微服務下電力實時通信服務平臺的結構、優化路徑和具體設計展開分析。
【關鍵詞】微服務 電力企業 實時通信服務 服務架構
1 引言
目前,隨著智能電網的快速發展,全球能源互聯網建設工作的不斷推進,電力企業實時通信發展勢頭迅猛,使得電力系統及平臺建設規模不斷擴大,功能不斷增多,性能不斷提高。與此同時,電力實時通信服務平臺也產生出一些問題:
(1)單體應用更加繁雜,因此維護、升級更新的難度加大;
(2)不能獨立更新應用的某一部分,需要對整個應用進行重新部署;
(3)系統功能因業務管理方式不同、邊界模糊、效率低下等問題導致重建。
因此,需要在分布式架構、模塊化開發的戰略基礎上尋找一種模式來搭建好電力云平臺。就目前而言,微服務架構是一種理想的方案。
2 電力企業實時通信服務架構及微服務內涵
2.1 電力企業實時通信服務架構
2.1.1 傳輸協議
具體來說,目前較為成熟的網絡技術是ISO(國際標準化組織)-OSI(開放系統互連)參考模型,基本上使實時動態監測系統實時通信的需求得到滿足。在參考模型ISO-OSI中,至關重要的一層是傳輸層,是從源端口到目的端口控制數據傳輸由低至高的最后一層,也是唯一承擔控制總體數據的一層。
概括分析,TCP(傳輸控制協議)、UDP(用戶數據包協議)、SPX(序列分組交換協議)、DCCP(數據擁塞控制協議)、SCTP(流控制傳輸協議)等是構建電網實時數據服務平臺的主要傳輸層協議。針對以上各協議,表1在時效性、可靠性和安全性方面進行簡要歸納:
從設計思想與實際運用來探究,SCTP剛開始是用于IP上的傳輸電話協議,適宜運用于電信網絡;SPX則較適合運用于Novell(諾勒)網絡,局限于小范圍;至于TCP,廣泛運用于各類TC P/IP網絡,可知其兼容性、可擴展性會比較強,這對于電網信息系統的長期持續發展、兼容擴展來說是非常有利的。由此可見,TCP協議在安全可靠性、兼容通用性、可擴展性方面具有較大優勢,所以比較適宜運用于電網實時數據服務平臺。
2.1.2 網絡結構
一般來說,Client/Server(客戶,服務)模式和Browser/Server(瀏覽器/服務器)模式是實際運用中較為典型的網絡結構。通過對兩者進行分析,可知Client/Server結構的優勢是充分發揮PC客戶端的處理能力,在客戶端處理好工作后再提交給服務器,客戶端響應速度快、服務器負荷輕。與此同時,Client/Server結構也會出現一些弊端,比較突出的有兩點:
(1)升級較為困難;
(2)客戶端直接訪問數據庫。
所以Client/Server通常用于范圍小的、特定的網絡環境,以局域網為基礎,通過特定的服務器傳輸及交換數據。但也正因如此,Client/Server用戶群比較穩定,能有效把控信息安全,通常適用于高度機密的信息系統。
相比較而言,Browser/Server結構的最大優勢就是無需安裝任何專用軟件就可在任意地點進行操作,只需一臺聯網計算機即可使用,客戶端在安裝、維護和升級方面成本低,且系統擴展簡易。Browser/Server無需專門的網絡硬件設施,是建立在廣域網之上的,與Client/Server相比,適用范圍更廣,通常只需要有操作系統與瀏覽器。同時,也正因Browser/Serve建立在廣域網之上,可能面對的是未知的用戶,Browser/Serve存在著安全可控性相對較弱、服務器運行數據量大的弊端。因相關軟件只在服務器端上安裝,網絡管理者只需管理服務器,所有的客戶端只有瀏覽器,在服務器端上,是通過瀏覽器平臺來實現用戶界面,極少在網站前臺實現,網絡管理者只需維護好硬件設施。但是,若應用服務器運行數據量過大,服務器會出現“癱瘓”問題甚至引起嚴重后果。表2中是對Client/Server模式與Browser/Serve模式的優缺點進行比較:
概括分析,Client/Server模式更加適用于電網實時數據服務平臺。
2.2 微服務的內涵
微服務架構最開始是國外知名互聯網公司(亞馬遜、億貝、Nefflix等)從實踐中逐漸摸索出來,用來處理復雜的應用系統架構,即以相互獨立的業務單元形式將其分解成多個服務,并通過合適的技術圍繞指定業務來實現。在服務獨立運行過程中,形成高內聚自治單元,邊界分明,通過輕量級通信機制的交流配合來實現完整運用。
微服務架構有著SOA(面向服務的架構)的特點,但與其也有所區別。SOA是在ESB(企業服務總線)基礎上進行操作的模式。其主要表現在服務松散、獨立性強、自治性強,相對于傳統ESB開發程度簡單,其具有靈活性、易實施性及可擴展性的特點。伴隨著互聯網高速發展,在快捷開發、持續交付、虛擬化技術與DevOps文化等理念快速興起的推動下形成了微服務架構理念。在微服務架構規劃的基礎上,企業移動辦公平臺可將傳統PC端復雜的應用系統分解成功能不同的微服務接口而不干擾現有業務的運行,快速重構適用在耦合度低、擴展性強、調節性好的移動端應用系統,在平臺建設上往往是通過局部新增、更改等來演進系統。而從客觀上看,微服務架構服務間的變化周期是不同步的,在升級部署時,只需對局部落后的組件進行更新,同時,在架構屬性上也呈現出漸進式演進規律的特點。
3 微服務下電力實時通信服務平臺的結構
基礎設施服務、平臺服務以及云服務中心三個部分共同組成了微服務下電力實時通信服務平臺。基礎設施和平臺服務兩層聯系緊密,云服務中心服務總線呈現出分布式結構,一鍵化部署,全鏈路監控。電力實時通信和云服務平臺總體結構如圖1所示。
3.1 平臺服務層
平臺服務層包含平臺組件及應用管理的服務。組件服務包括統一權限與流程、數據傳輸、應用中問件、集中式與分布式數據庫、大數據平臺、ETL等。應用管理服務是針對電力云平臺承載的應用進行管理,有著彈性收縮、故障自愈、自動化部署及全鏈路監控等功能。首先,平臺中的各組件依據自身特性,實現不同層次的服務,并向云服務中心相關接口提供多種服務;其次,云服務中心調用接口統一對外提供多種服務,并支持服務與業務綁定。
3.2 基礎設施服務層
基礎設施服務層提供計算、存儲、負載均衡等服務。其中,云資源管理及云操作系統給計算服務提供接口,由云服務中心進行整合,提供虛擬機、容器等計算服務:儲存服務的接口提供也與計算服務類似,最終對外提供集中式及分布式存儲服務:負載均衡服務由負載均衡器提供接口,通過云服務中心結合后進行監控、部署,對各組件及全局的應用訪問路由進行自動配置。
3.3 電力實時通信服務中心
電力實時通信服務中心包括云控制臺、部署配置和監控調度。其中,云控制臺是整個結構的門戶,是外界使用平臺服務的唯一入口,也是對外服務的統一出口:部署配置基于虛擬機和容器部署,為應用和電力平臺各組件運行環境提供編排功能,支持服務性及動態部署;監控調度通過收集全鏈路監控數據,根據假設的調度方略,提供由下至上的彈性調度能力。
4 微服務下電力實時通信服務平臺的優化
從現有情況來看,實時通信服務平臺主要有3種缺陷:首先,各個相關組件缺乏相同的頁而設計、服務標準規格不一、服務實施端口操作繁雜:其次,各個相關組件服務的實施、組成、選調的方法區別過大;再次,各種類型的軟件和組件在進行計劃、調配、監督時都要按照各自方式進行處理。根據以上問題,本文超越固有的設計觀點,針對電力實時通訊服務平臺框架開展微服務,把電力應用實施中繁復的經營領域分為幾個微服務,使其粒度進一步細化、耦合度進一步降低,而且重復使用率進一步提高。關于在電力云內增設的電力軟件,當然也應當從微服務建設角度設計軟件的經營活動思維規劃與實施的可行性。微服務框架建設應當注意思考下而幾個問題:
4.1 建立統一的服務問通信機制
從運行進程上來說,微服務之問是各自獨立的,應當設計一致的運行程序問交流方式以達到交互的目的,建立各個微服務的聯系。運行程序問交流方式的設計要特別注意考慮如下幾點:
4.1.1 使用規范的服務標識
其作為一個相關服務的API規定獨一無二的表述性標識,這個時候要確保它具有兼容的特性,同時還要思考一個交流服務的各個版式、各個狀態相應的同時存在多種實際情境時要怎樣展開表述。
4.1.2 交流服務齊發監控措施
在客戶端口進行一次請示,這時也許會同時得到若干個交流服務實際情境的回應,在這樣的情況下應當制定交流服務之問的齊發措施,同時監督和管理多個實際例子。
4.1.3 處理局部功效失靈
交流服務選調時可能存在服務交流內部問題、網絡問題、選調超時等突發情境,從而出現選調障礙、現在占有數據得不到擴散等情況。關于上而的各種情境要使用對應的措施,通常有超時重新嘗試、熔斷限制流量等措施。
4.1.4 同步請示回應模型
在第一次請示發出之后,客戶端口程序的實施受阻不暢,到接收服務交流端口的響應數據。比如http的RESTful、在XML和SOAP(非抽象對象訪問規定)基礎上的WebService、RPC(在程序化和反程序化規定基礎上的遠距離選調)等等。
4.1.5 非同步數據交流模型
客戶端口第一次請示出來后,根據自己的項目活動方式持續實施,不需要服務交流端口的回應,當服務交流端口實施了回應,服務交流客戶端口以回調的辦法自己解決。比如AMQP的Rabbit MQ以及Apache的ActiveMQ等等。
4.1.6 對交流服務實施成果進行緩存
在某種意義上,經過對實施成果的緩存能夠使組織結構性進一步鞏固,特別是多次選調的交流服務,能夠很快得到運算數據,因此緩存交流服務是非常關鍵的。
4.2 服務注冊與發現機制
在電力即使交流服務通信平臺中,服務交流登記與發展程序給各種交流服務展開定位提供了方便,為確保各個交流的有效性,需要設計一個隨時翻新的、實效性較高的服務交流登記與發展樞紐。服務交流登記有自登記和被登記兩個方而,當中,自登記屬于服務交流實際情境主動登記到服務登記與發展樞紐,并使用心跳顯示策略決定登記數據的合理可行性。被登記不同于自登記,是指服務登記與發展樞紐自主去尋找新的交流實際例子,比如:經過數據計劃或服務信息例子情境征訂,從而開展服務定位。
服務交流尋找包括服務選調方探究和分配交流服務尋找到兩種不同情境。服務交流信息選調方發現指的是在服務交流信息請示者根據規定的方案選用某一交流信息服務的幾個實際情境同時給出請示;分配層信息交流服務尋找指的是服務數據請示者給分配層發出請示,通過分配層尋找服務登記與發展樞紐,并根據分配路由措施來對服務實例進行定位。
4.3 服務可持續交付
服務信息可持久交流是指在電力即時通信服務信息提供平臺當中,各個微服務可以持久根據規定化程序展開交付,也可解釋為某個電力應用軟件根據微服務框架觀點在設計、規劃實施及維修進程中擁有可持久性,同時按照各個樣板及實施過程,各個微服務在展開時也許擁有很多的情境,電力即時數據交流通信平臺應該對其展開統一的監督,并保障具有實效性的實施情境,從而使得各個數據服務信息例子可擁有安全平穩性的服務。服務可持久交流保障了微服務框架的有效展開。
5 基于微服務架構的電力實時通信平臺設計
建設在微服務數據基礎上的電力即時信息交流通信平臺第一應當把復雜的項目抽象為更細的因子展開持續使用的服務,并根據項目功能把各個微服務信息進行集合。在微服務框架基礎上的電力即時信息交流通信平臺框架如圖2。
在電力微服務軟件構建發展形成后,經過連續交付組件對其展開布置、檢驗,并交付到電力即時交流通信平臺中,另外在服務登記樞紐進行登記。服務請示者經過平臺服務層中的平臺組件微服務提出請示,服務網絡關卡經過固定的措施對請示數據展開阻礙和定位。電力即時信息交流數據中負責組織實施監控的組塊也是該平臺內的微服務。
5.1 持續交付組件
在電力即時交流通信服務平臺中,連續交付組件最重要的是把平臺上的各個電力軟件微服務展開自主化,連續、快捷地布置到實施情境中,另外將這些微服務進行編程,使其擁有維修方便、更新快捷,拓展迅速的性質。
5.2 服務注冊中心
微服務框架中的關鍵組件是服務登記樞紐,在電力即時交流通信服務平臺中,在實施情境、默認程序發生變化之時,各種服務的實際例子也隨之產生改變。可連續交付組件實施若干個提供給其他交流服務或者外在軟件展開探訪的微服務實際情境,盡管服務登記樞紐電力即時交流通信服務平臺記載著各個實際情境的選調方式、通信規定等探訪數據。另外服務等級樞紐負責對各個實際例子實施時的實時數據展開監督,并跟蹤其實施情況,同時按照其良好情況及網絡情境的不同展開相應的變動。當客戶端口探訪服務登記樞紐的各個數據信息技術服務時,第一,向分配層發出請示,分配層服務等級樞紐展開調查并根據分配路由措施對服務數據實際情境展開定位。另外,分配層還應該按照請示負載且處在活躍動態的服務數據實際情境數據來選用調配措施。更多的是關于各個微服務協議方案交流時怎樣定位和發展服務信息的情境。
5.3 服務網關
電力即時交流通信服務平臺的規范探訪端口是服務網絡關口,其封閉安裝了平臺內在的一切服務數據。通常包含有下而的作用:
(1)在特定情境下,保證將電力即時交流通信服務平臺中的服務透露給外部選用;
(2)保證對請示的阻擋、預先解決、大小配對等:
(3)供給請示分配路由、協商轉化、安全保護、負載平衡等措施;
(4)供給實施成果緩存制度,在規定時問問隙內的實施成果數據可實施緩存。
6 結論
文章經過研究電力即時交流通信服務平臺已有框架的特性及缺陷,分析了微服務框架的建設觀點和有利條件,指出了電力即時交流通信服務框架的優化措施,并且對微服務框架下電力云平臺的核心組件展開了深層次的探討。經過將微服務框架運用到電力即時交流通信服務平臺的建設,成功化解了電力即時交流通信服務平臺固有的規格不一、構架繁雜等缺陷,達到了平臺中各種服務信息的低耦合、可伸展、容易拓展的目的,方便了平臺的優化和維護。
參考文獻
[1]王磊.微服務架構與實踐[M].北京:電子工業出版社,2015.
[2]鐘清,智能電網關鍵技術研究[M],北京:中國電力出版社,2011
[3]徐毅.面向智能電網的通信中間件的關鍵技術研究[J],中國新技術新產品.2016 (01):26-26.
[4]譚文恕,傳輸協議現狀及國內外相關標準[J].電力設備,2004,5(07):11-14.