999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于微服務架構的電力公司管理信息系統

2020-10-13 09:37:40姚振王萍宮政劉濤唐軼軒
微型電腦應用 2020年9期

姚振 王萍 宮政 劉濤 唐軼軒

摘 要: 針對電力公司管理信息系統所存在的可拓展性、可維護性較差以及在敏捷開發和快速部署方面的劣勢,提出采用Spring Cloud平臺、微服務架構和輕量級容器技術相結合的以提升電力信息系統的持續集成和擴展能力的解決方案。其中微服務架構是一種具有靈活的技術選擇、可獨立地按需擴展和高可用性的先進架構;Spring Cloud作為開源技術架構則為信息系統的微服務化提供全面的技術支持;而Dockers所代表的容器技術則為微服務架構提供了一個獨立且不受干擾的部署環境。試驗表明,該解決方案具有計算效率好和運行穩定的優點。

關鍵詞: 微服務; 管理信息系統; Spring Cloud; Dockers

中圖分類號: TP 315 ? ? ?文獻標志碼: A

Abstract: In view of the scalability, poor maintainability and disadvantages of agile development and rapid deployment of power company management information systems, this paper tries to improve the combination of Spring Cloud platform, micro service architecture and lightweight container technology. A solution for continuous integration and expansion capabilities of power information systems is proposed. The microservices architecture is an advanced architecture with flexible technology choices, independent on-demand scalability and high availability; Spring Cloud as an open source technology architecture provides comprehensive technical support for micro-services of information systems, and represented by Dockers the container technology provides an independent and undisturbed deployment environment for the microservices architecture. Tests have shown that this solution has the advantages of good computational efficiency and stable operation.

Key words: microservice; management information system; Spring Cloud; Dockers

0 引言

電力公司在信息化建設過程中,致力于通過將業務流程與信息技術的結合來提高管理效率。然而由于缺乏整體規劃和理論支持,導致電力公司管理信息系統的架構出現以下三個特征:(1) 單片架構成為主要的部署模式[1-3]。單片架構軟件系統在開發的早期階段易于調試,運行簡單,易于部署。電力公司我們需要做的只是將打包的信息系統復制到服務器上。通過在負載均衡器的后端運行多個無狀態服務副本,可以很容易地實現應用程序的橫向擴展,并且操作或維護的門檻很低。(2) 隨著需求的變化,電力公司管理信息系統逐漸變得復雜得多,新的開發人員無法弄清楚業務邏輯。因此,修復錯誤和添加新功能非常困難且耗時。最終,電力公司管理信息系統將陷入一個巨大的、難以理解的泥潭。(3) 傳統的系統開發模式在成本和效率上沒有優勢,限制了電力公司的信息化發展。單片架構的管理信息系統也使得采用新的體系結構和編程語言變得非常困難。最終,電力公司無法通過非擴展,低可靠性應用程序實現敏捷開發甚至快速部署。為此,本文提出基于微服務架構和輕量級容器技術進行電力公司管理信息系統的開發以解決上述問題。

1 相關研究

微服務體系結構(MSA)是一個提供了用于構建復雜軟件系統的細粒度、自包含的服務組件(微服務)的新興云軟件系統。基于SDLC(軟件開發生命周期)原則開發的電力公司管理信息系統所缺乏可擴展、可維護等諸多問題,促使電力公司管理信息系統從傳統的單片體系結構遷移到MSA。文獻[4]提出了基于SDLC的遷移過程,包括設計、開發和實現過程中所需的所有方法和工具。

設計良好的微服務架構和更好的質量依賴于對相關質量屬性的清晰理解。然而,目前對微服務體系結構中質量屬性的理解還不夠全面。文獻[5]通過系統文獻綜述(SLR)、探索性案例研究和解釋性調查構建了建筑質量屬性知識。通過分析相關質量屬性的影響因素及相應策略,旨在為微服務體系結構的質量改進提供全面的指導。

文獻[8]介紹了使用相同的可擴展場景開發和部署的Web應用程序與單片架構、私有云運營的微服務架構和由云提供商運營的微服務架構三種不同方法的成本比較。測試結果表明,與標準單片式架構相比,微服務可以幫助降低基礎架構成本。此外,使用專門用于部署和擴展微服務的服務可將基礎架構成本降低70%或更多。該研究還描述了實施和部署微服務信息系統的挑戰。

容器虛擬化以其能夠以靈活的方式部署和管理物聯網設備中的微服務正在成為一種被普遍使用的技術。文獻[6]關注物聯網設備中的微服務可靠性,并提出了一種基于容器虛擬化的系統,該系統提供了物聯網云上所運行的微服務的故障容錯機制。

2 基于微服務架構的信息系統

2.1 基本思路

為了減少電力公司信息系統中子系統之間的耦合,通常將系統分成多個組件,這有助于分離組件邊界和職責。程序員可以通過獨立地升級或維護系統。面向服務功能組件的主要目的是將不同編程語言實現的功能組件封裝到服務中。然后,用不同編程語言編寫的客戶端程序對服務接口進行跨語言和跨環境調用,功能組件服務和跨語言服務接口調用的效果,如圖1所示。

2.2 微服務架構的設計原則

在電力公司管理信息系統開發的早期階段,信息系統通常采用提供服務列表的單片架構S(s1,s2,…,sx),單片架構示意圖如圖2所示。

由一組開發人員開發代碼。隨著應用程序的擴展,將添加更多的服務或開發人員,從而增加了啟動新功能或改進所需的復雜性和時間。

面向服務的體系結構(SOA)[7]解決了電力公司管理信息系統復雜性所導致的可運維性、可拓展性較差的問題。電力公司管理信息系統由一系列單片架構的信息系統(S1,S2,…,Sn)組成,每個信息系統通過不同的標準提供服務(如簡單對象訪問協議)。一些管理信息系統使用路由機制,例如企業服務總線(Enterprise Service Bus,ESB)[8]在各個電力公司管理信息系統之間路由和發送消息。SOA允許每個信息系統由按業務功能分組的不同開發團隊進行獨立開發,最后獨立開發的各個系統向SOA發布各自的服務接口,并由SOA向各個系統提供消息訂閱功能。

雖然SOA實現可以滿足某些電力公司管理信息系統的需求,但SOA存在非常復雜、昂貴,甚至耗時的問題[6]。SOA的一個典型實現是ESB,其被設計用于有效地支持具有大量用戶的電力公司管理信息系統。當面臨將ESB擴展到數十萬或數百萬用戶的挑戰時,SOA將成為創建高延遲和增加單一故障點可能性的瓶頸。因此,根據需要向ESB添加或刪除服務器是很復雜的。至于敏捷性,在ESB中需要大量的配置來滿足最終用戶的新需求,這將耗費大量的時間。

作為SOA的一個輕量級子集,MSA(Micro Service Architecture)吸收了SOA體系結構的優點,避免了單片架構的相應問題。MSA是使用一組微服務構建信息系統的解決方案。MSA由多個服務以單獨的業務單元的形式組成,并通過適當的技術圍繞指定的業務實現。每個微服務運行在一個獨立的進程中,依賴于獨立的自動部署機制,形成一個邊界清晰、內聚性高的自治單元;微服務通過一些輕量級的通信機制進行通信,如RPC、HTTP等[9-10]。

為此,建議將管理信息轉換為一組微服務MS(MS1,MS2…msn),每個微服務都是提供服務的子集(s1,s2…sx)。開發團隊使用技術棧(包括表示層、服務層和持久層)獨立地開發和測試這些微服務,以便更適用于微服務提供的服務。開發團隊還負責在云計算iaas/paas解決方案上部署、擴展、操作和升級微服務[11-13]。在表示層中,使用表示狀態轉移(rest)發布服務[14]。微服務架構如圖3所示。

Spring Cloud是一個旨在簡化信息系統的開發和部署過程的全新Web框架。Spring Cloud包含一組功能良好、基于Spring Boot的輕量級微服務組件。Spring Cloud的主要特性有服務發現管理、服務容錯、服務網關和服務配置、負載平衡和消息傳遞。在總線和服務跟蹤方面,Spring Cloud框架也有經過良好測試和成熟的組件。

Spring Cloud完整架構圖,如圖4所示。

Eureka實現了Spring Cloud中微服務的自動注冊和發布。Zuul用于動態路由和請求過濾。功能區是基于HTTP和TCP的客戶端負載平衡,從Eureka Registry獲取服務列表。 HyStrix是一種可以提高系統容錯能力的斷路器。Turbine是一種用于監控微服務集群的工具。 Feign集成了Ribbon,為客戶端提供聲明性HTTP API。Spring Cloud Config為Spring Cloud框架系統提供統一的配置管理,并為服務器(Config Server)和客戶端(Config Client)提供支持。Spring Cloud總線的作用是將服務節點與輕量級消息代理(例如RabbitMQ)連接,并廣播配置文件的動態信息與服務之間的通信。Spring Cloud Sleuth集成了ZipKin,實現了微服務的監控鏈路分析[15]。

微服務是一種先進的體系結構,但在系統復雜性和服務的持續集成方面存在著不可避免的缺陷。因此,本文引入了Docker技術來彌補微服務架構的上述缺陷。Docker是一個符合Apache2.0協議開源容器引擎,其使用輕量級虛擬化技術來實現資源隔離,并打包各種環境依賴項和應用程序,以促進應用程序的移植和部署。本研究將微服務打包成單獨的Docker鏡像,然后將它們推入私有鏡像數據庫。每次部署服務時,都會從私有鏡像庫中提取相應的鏡像,并根據預定的微服務運行鏡像。

2.3 實施技術

Spring Cloud框架是以Java語言為基礎,以統一的通信標準,將不同語言(如C++、.NET、Python、Matlab等)編寫的程序發布到微服務中。本文使用JNI(解決C++和Java通信問題)、進程間通信和RPC(遠程過程調用)等技術將底層系統通信接口作為Java程序的補充,從而解決了功能組件服務的通信問題。

一個簡單的服務組合示例,該示例由四個服務A、B、C和D組成。如圖5所示。

服務A獲取輸入數據,數據可以由多個基本數據類型(整數、浮點數)和復雜數據類型(數組)的組合;輸出(X,Y)是兩個基本數據類型的組合。在客戶端遠程調用該服務組合之后,服務的內部調用過程如下:

1) 服務A調用B.handle(數據);

2) 服務B異步調用c.handle(data);

3) 服務B異步調用d.handle(data);

4) 服務C返回響應X;

5) 服務D返回響應Y;

6) 服務B在服務C和D都返回響應之后返回響應(x,y)。

構建上述微服務的算法如下:

微服務構建算法

1: mS ← 初始微服務列表

2: ts ← 微服務的時間閾值

3: S ← 功能列表

4: C ← 代碼庫

5: for s in S

6: c ← 在C中完成的代碼

7: mS.add(c)

8: end for

9: for mSi,mSj in mS

10: if correlation(mSi,mSj) > ts

11: mSi = merge(mSi,mSj)

12: end if

13: end for

使用Docker后微服務框圖,如圖6所示。

這四個微服務A、B、C和D獨立部署在Docker容器中,微服務A發起調用微服務B的請求,微服務B異步調用微服務C和D。這創建了一個復雜而完整的業務處理流程。將復雜的應用系統拆分為多個服務,每個服務具有單一功能和簡單的業務邏輯。每個微服務都在Eureka Server中注冊,微服務可以通過聲明性RESTful API調用。

3 實驗分析

實驗環境包括:配置Xeon處理器、16GB RAM的運行微服務的主機,在Linux3.9上運行Docker 1.6和Spring Cloud Dalston.SR5的主機,以及單獨運行每個容器的主機。試驗選擇了WSO2產品作為試驗環境的服務總線。測試和比較單片架構、ESB和本文所提的微服務架構這三種體系結構的性能。試驗所測量到服務時間的消耗包括(1) 用于請求服務的時間,(2) 用于接收響應消息的時間(3) 用于解析服務響應消息和描述的時間。為了獲得準確的數據,試驗啟動了多個重復調用請求。

如前所述,使用SpringCloud框架將電力公司管理信息系統重構為未耦合的微服務,并通過Docker技術將它們部署到服務器上。在本試驗中,使用四個微服務作為實驗條件。微服務A負責購電成本和銷電價格的查詢。微服務B用于統計售電量。微服務C為購電合同的概述,如季度購電成本等。微服務D根據損益信息指定下一季度的購電計劃。

為了從中準確評估這些微服務的運行性能,試驗在沒有加載管理系統的前提下反復運行這些微服務,性能試驗結果,如表1所示。

試驗對不同系統架構下管理信息系統的運行性能的反復測試的結果,如表2所示。

在不同服務調用數量下,三個系統架構的運行性能的試驗數據對比如圖7所示。

通過分析表1、表2和圖7的試驗數據,可以得出結論:由于內部通信成本幾乎為零,單片架構的平均時間開銷最小,平均運行時間為63.24 ms;對于微服務架構和ESB,微服務架構的平均時間損失為54.25 ms,優于ESB的 65.42 ms,這使得使用微服務架構重建電力公司管理信息非常合理。由圖7可知,隨著服務調用數量增長,微服務架構沒有明顯下降,因此可以預見采用微服務架構構建電力公司管理信息系統將具有良好的運行穩定性。

4 總結

隨著電力公司管理系統的規模越來越龐大,對快速響應功能需求的要求越來越嚴格,傳統的軟件系統架構已經不能滿足需求。微服務架構作為新興的系統架構為軟件開發人員提供靈活的軟件構建方法,可以有效應對更頻繁的軟件更新和滿足更短的交付周期的需求,成為電力公司部署管理系統新的架構選擇。本文闡述了Spring Cloud和Docker所構建的系統架構能夠實現面向組件和面向服務的服務管理,增強了服務的持續集成和擴展能力。試驗也表明了該系統架構具有計算效率良好,運行穩定的優勢。因此基于Spring Cloud和Docker的微服務架構具有成為電力公司重構管理信息系統的最佳解決方案的潛力。

參考文獻

[1] 李慧春,王成喜,朱曉旭.基于Docker的Linux在線實驗環境[J].實驗技術與管理,2019,36(3):47-50.

[2] 徐曉耘,左松林,倪妍妍.基于微服務架構的電力營銷信息系統研究[J].信息技術,2019(2):160-166.

[3] 劉曉東,趙曉芳,陳雅靜,等.基于服務能力模型的微服務彈性資源供給機制[J].高技術通訊,2019,29(1):1-11.

[4] 方意,朱永強,宮學慶.微服務架構下的分布式事務處理[J].計算機應用與軟件,2019,36(1):152-158.

[5] 趙子晨,朱志祥,蔣來好.構建基于Dubbo框架的Spring Boot微服務[J].計算機與數字工程,2018,46(12):2539-2543.

[6] 張琦.基于Docker的CaaS管理平臺架構研究與設計[J].計算機應用與軟件,2018,35(11):33-41.

[7] 馮顯力,韋化,韋洪波,等.含微服務的調度自動化系統分布式實時數據庫[J].電力系統保護與控制,2018,46(21):138-144.

[8] 程偉華,周捷,趙亞.基于微服務架構的電力系統拆分方法[J].信息技術,2018,42(10):115-119.

[9] 徐琛杰,周翔,彭鑫,等.面向微服務系統的運行時部署優化[J].計算機應用與軟件,2018,35(10):85-93.

[10] 承林,王海寧,高春成.微服務在電力交易系統中的應用研究[J].電網技術,2018,42(2):441-446.

[11] 龍新征,彭一明,李若淼.基于微服務框架的信息服務平臺[J].東南大學學報(自然科學版),2017,47(S1):48-52.

[12] 張松,疏官勝,李京.容器微云監控系統的設計和實現[J].中國科學技術大學學報,2017,47(8):627-634.

[13] 畢小紅,劉淵,陳飛.微服務應用平臺的網絡性能研究與優化[J].計算機工程,2018,44(5):53-59.

[14] 郝庭毅,吳恒,吳國全,等.面向微服務架構的容器級彈性資源供給方法[J].計算機研究與發展,2017,54(3):597-608.

[15] 歐陽榮彬,王倩宜,龍新征.基于微服務的數據服務框架設計[J].華中科技大學學報(自然科學版),2016,44(S1):126-130.

(收稿日期: 2019.06.25)

主站蜘蛛池模板: 国产理论最新国产精品视频| 日本午夜影院| 国产91无码福利在线| 亚洲无线国产观看| 超级碰免费视频91| 尤物亚洲最大AV无码网站| 韩日免费小视频| 国产玖玖玖精品视频| 国产Av无码精品色午夜| 最新无码专区超级碰碰碰| 欧美在线一二区| 国国产a国产片免费麻豆| 无码啪啪精品天堂浪潮av| 欧美成人精品高清在线下载| 国产网站免费| 亚洲综合二区| 一本大道视频精品人妻| 亚洲愉拍一区二区精品| 欧美午夜性视频| 亚洲精品国产自在现线最新| 欧美国产另类| 91啪在线| 午夜限制老子影院888| 爆乳熟妇一区二区三区| 婷婷六月天激情| 2021国产精品自产拍在线观看| 久久99国产综合精品女同| 免费在线色| 国产丝袜丝视频在线观看| 午夜国产精品视频| 国产日韩久久久久无码精品| 国产香蕉在线| 狠狠做深爱婷婷久久一区| 三级国产在线观看| 免费毛片a| 欧美亚洲一二三区 | 自慰网址在线观看| 草逼视频国产| 国产精品三级av及在线观看| 一本一道波多野结衣一区二区| jizz国产视频| 国产成人av一区二区三区| 2021最新国产精品网站| 免费中文字幕一级毛片| 伊人激情综合| 97在线碰| 国产精品手机视频| 最新痴汉在线无码AV| 亚洲中文字幕97久久精品少妇| 日本午夜精品一本在线观看| 久久国产拍爱| 成人av专区精品无码国产| 狠狠色综合网| 亚洲视频一区在线| 色AV色 综合网站| 免费不卡视频| 国产精品福利在线观看无码卡| 黄色不卡视频| 99视频免费观看| 亚洲大学生视频在线播放| 成人字幕网视频在线观看| 一级成人a做片免费| 国产精品林美惠子在线播放| 国产精品欧美日本韩免费一区二区三区不卡 | 国内精自线i品一区202| 国产一区二区丝袜高跟鞋| 高清无码一本到东京热| 一级不卡毛片| 国产精品亚欧美一区二区| 欧美一级在线看| 精品伊人久久久久7777人| 国产三级毛片| 国产欧美视频在线观看| 青青青国产精品国产精品美女| 亚洲人成网站在线观看播放不卡| 色婷婷啪啪| 精品国产网| 国产欧美视频在线| 美女无遮挡被啪啪到高潮免费| 欧美日本在线| 欧美午夜小视频| 在线观看免费国产|