微服务架构的电力云平台设计与实现

2022-08-19 07:47钟云南陈冬隐刘小龙黄妹妹
粘接 2022年8期
关键词:实例组件架构

钟云南,陈冬隐,翁 贞,刘小龙,黄妹妹

(1.国网福建省电力有限公司,福建 福州 350000;2.国网福建省电力有限公司 信息通信分公司,福建 福州 350000;3.国网福建省电力有限公司 长汀县供电公司,福建 龙岩 366300;4.国网信通亿力科技有限责任公司,福建 福州 350003)

目前的电力服务系统以业务营销及应用系统为主,主要由3类信息系统构成即电力业务管理、营销业务管理及应用平台支持,随着电力规模的不断扩大以及用户需求的多样化发展,电力服务系统存在的问题和不足主要表现在:各类业务领域同信息系统间的交互种类繁多,采用不同技术的多种多样的系统间的接口造成了系统的臃肿,海量的电力数据在不同系统间的复制质量较低,易导致数据多次重复复制及写入,数据在水平和垂直系统间的传输信道以及数据交换协议的统一程度较低,降低了整体服务系统的可扩展性,不利于电力服务及应用的正常运营和开展。

1 需求分析

电力业务应用系统平台建设工作随着智能电网建设及能源互联网建设工作的深入发展而逐步向规模化、高效率的方向发展,云化趋势显著,对功能的多样性及性能的稳定性提出了更高的要求。单体使电力云平台的复杂程度较高,进而增加了系统平台的扩展、维护、升级等方面的难度,通常在对某个部分进行更新的同时需对整个应用进行重新部署,不利于电力服务质量及效率的有效提升;受到普遍存在的多样化管理方式的限制,导致在面对相同业务需求的情况下系统功能被重复建设,通过模块化开发、建设电力云平台及分布式部署架构的构建可有效解决上述问题,微服务架构(Micro-Service Architecture)为电力云平台的优化提供了理想的解决方案,实现了面向服务架构(SOA)思想的微服务架构能够通过在各离散的服务中完成不同功能的分解,从而实现对解决方案的解耦,近年来迅速发展完善的IT建设理念(包括DevOps、持续交付等)以及容器技术(包括虚拟化、Docker等)为微服务架构在电力服务云平台中的落地实施提供了有力的支撑。

2 电力云平台需求分析及优化策略

2.1 微服务架构设计理念

不同服务间通过轻量级通信机制(如 REST/JSON 等)的使用即可实现相互间的有效沟通过程,进而实现相互间的有效配合确保平台整体功能的实现。服务松散自治的微服务架构继承了 SOA 的优势(SOA编排操作的方案时基于企业服务总线完成),具备灵活、易实施、可扩展等优势,微服务架构更加注重服务的开发以及独立运行,基于现代化技术理念(包括敏捷开发、持续交付、虚拟化、DevOps 等)实现的微服务架构为电力服务系统的移动和智能化办公奠定了坚实的基础,能够在不影响现有电力业务正常运行的基础上以不同功能的微服务接口的形式完成对复杂应用系统(集中于传统PC 端)的分解及快速重构,重构后的应用系统不仅适用于移动端还具备低耦合、易于扩展和伸缩等优势。升级部署系统时仅需通过局部新增、改进或替换过时的组件即可实现,更加符合实际电力服务系统的渐进式演进规律。

2.2 电力服务系统云平台的总体架构

基于微服务架构的电力服务系统云平台的总体架构示意图,如图1所示。通过该平台的建立能够实现平台的一键式部署、全链路监控功能。

图1 电力服务系统云平台总体架构示意图Fig.1 Schematic diagram of the overall architecture of the cloud platform of the power service system

(1)平台服务,包括平台组件服务和应用管理服务(主要负责管理电力云平台承载的应用,实现了自动部署、弹性伸缩、全链路监控等功能),平台组件服务可以将多租户接口向云服务中心提供,云服务中心提供接口的调用实现服务的统一对外提供,并且可在业务应用中绑定相应的平台服务,业务应用根据自身实际需求可对具体的 API(由部分平台服务提供)进行调用;

(2)基础设施服务层,可以将服务功能向服务层提供,云服务中心对各个接口进行整合后实现了虚拟机、容器等计算服务以及集中式存储和分布式存储服务统一对外提供;各组件和应用内部实例由云服务中心通过负载均衡服务接口(由负载均衡器提供)进行自动部署、监控、调度,最终实现负载均衡的有效配置;

(3)云服务中心,主要由云控制台、部署配置和监控调度构成,部署配置针对应用和云平台组件运行环境(支撑其服务化和动态部署)通过使用脚本引擎技术实现部署编排功能;全链路监控数据(从访问入口到基础硬件)通过云服务中心的监控调度完成收集过程,并根据设定的调度策略提供弹性调度能力(包括底层硬件资源及上层平台服务)。

电力服务系统云平台的云服务属于统一对外提供的 IT 服务清单(集成了基础设施服务、业务应用系统、平台服务及云服务中心),支撑包括微应用、SaaS 应用和 API等在内的新型应用形态,实现应用的有效自动部署过程,故障恢复及资源自动在线伸缩功能的实现使业务系统上线周期得以显著缩短,同时提升了业务系统运行质量。

3 基于微服务架构的电力云平台的实现

通过在电力服务系统中应用微服务架构实现了应用程序可拓展性的显著提高,系统平台的应用程序和功能主要由微服务框架通过微应用和微服务实现,能够将强大的信息支持提供给特定业务,本文所设计的电力服务系统云平台主要由一组微应用和微服务构成,在分布式服务总线上完成各微服务的注册,微服务由分布式服务总线进行推送,在此基础上实现微服务在微应用间的调用。由微应用程序实现具体的业务逻辑(通过调用微服务),并将同微应用交互的接口组件提供给用户。

3.1 平台架构

基于微服务的电力服务系统云平台构建的首要任务在于对较大且复杂程度高的业务逻辑进行抽象和划分,基于微服务架构的电力服务系统云平台架构如图2所示。电力云中负责监控管理系统运行的功能模块视为平台中的一个微服务,开发完电力微服务应用后需对其进行部署、验证(通过持续交付组件完成);然后,在电力服务系统云平台中发布的同时在服务注册中心完成注册。用户通过平台的服务网关组件发出相应的微服务请求,服务网关发展完成对请求的拦截和定位。

图2 基于微服务架构的电力云平台架构Fig.2 Power cloud platform architecture based on micro-service architecture

持续交付组件

微服务持续交付流程为:源码管理、自动构建、部署管理、集成测试、发布管理,主要负责完成在运行环境中完成可编程配置的各电力应用微服务(由平台承载,具备易于维护、变更及扩展的特点)自动高效、可持续的部署过程。

服务注册中心

平台中的每一项服务实例都会根据策略而发生变化,服务注册中心主要记录各实例访问信息,对各实例的运行状况进行追踪以及对运行时的动态信息进行监测,并在此基础上进行适当的调整。客户端对服务注册中心的服务进行访问时先向分发层提交访问请求,对服务实例定位之后完成相应调度策略的选择。

服务网关

服务网关封装了平台内的服务信息,提供执行结果缓存机制,提供负载均衡、协议转换、安全防护等策略。

3.2 电力云平台架构的改进策略

本文通过采用微服务架构实现对电力云平台架构的微服务化,完成复杂业务模块到多个微服务的抽象划分。

..建立统一的服务间通信机制

通过进程间通信机制的统一建立使各个微服务间的交互功能得以有效实现,建立进程间通信机制的主要步骤:

(1)定义服务标识,针对服务的 API 完成唯一描述标识的定义,明确一个服务对应多实例共存时的描述方式,以确保向前兼容性;

(2)服务并发控制,通过设计服务间并发策略,实现对实例的并发管理;

(3)处理失效部分,服务调用时可能发生的异常情况(包括调用超时、服务内部及网络错误等)易导致调用阻塞、当前占用资源难以释放等问题的出现。为此,可采用熔断限流及超时重试等策略;

(4)同步请求/响应模式,具体可按照实际需要选用远程过程调用(RPC,基于序列化和反序列化机制)、http 的RESTful、基于 XML 和SOAP的WebService等;

(5)确定异步消息通信模式,发起一次请求后客户端无需等待服务端的响应即可继续执行业务逻辑,客户端通过回调式Apache 的 Active MQ对服务端的响应结果进行处理。

..服务发现机制

主要负责向云平台中的服务提供定位功能。包括服务调用者发现(由服务请求方从相应的若干实例中选取并发出请求)和分发层服务发现(由分发层根据接收到的服务请求对服务实例进行查询和定位)。

4 结语

随着电网的信息化及智能化水平的不断提升,电网建设及发展工作面临着新的挑战,电力服务系统对建设电力云平台提出了更高的要求,目前在业务集成、数据共享等领域已经取得了一定的进展。本文提出了一种基于微服务架构的电力服务系统云架构的优化方案,深入分析了电力云平台关键组件的搭建方法,通过引入微服务架构使电力云平台标准统一及结构复杂等问题得以有效解决。在有效简化了服务系统平台的运维管理过程的同时,提升了整体电力服务水平及电力管理工作的质量。

猜你喜欢
实例组件架构
基于云控平台雾计算架构的网联汽车路径控制
创建Vue组件npm包实战分析
光伏组件热斑对发电性能的影响
智能机械臂
VIE:从何而来,去向何方
企业架构的最佳实践
完形填空Ⅱ
完形填空Ⅰ
三层架构在企业信息化中的应用
嵌入式组件技术的研究及应用