微服务在电力交易系统中的应用分析

(整期优先)网络出版时间:2018-12-22
/ 2

微服务在电力交易系统中的应用分析

安少新屈建平

(国家电网北京电力海淀供电公司北京100089)

摘要:我国不断推进落实电力改革,促进电力交易用户规模不断扩大,继续利用单体结构的电力交易系统,业务快速变化和系统性能要求已经无法获得满足。利用微服务技术架构,可以改造电力交易系统系统,实施微服务,转变电力结构为分布式结构,使系统的负载性能和伸缩性不断增强。利用分离服务,可以提供更加便捷的升级维护。在电力交易系统当中利用微服务,可以说明关键技术,通过实验验证技术方案,极大的提高电力交易系统的吞吐量和容错性以及可维护性。

关键词:微服务;电力交易系统;应用

当前在全国范围内不断实施电力交易市场化改革,不断增长了各类市场成员数量,售电公司越来越多,因为电力交易品种不断增加,交易周期也变得更加频繁和多样,因此对于电力交易系统的性能和可靠性等方面提出了更高的要求。本文主要论述了微服务在电力交易系统中的应用,从而对于相关的研究提供理论基础。

1.单体结构电力交易系统的缺陷

1.1系统性能低

单体结构电力交易系统利用5节点负载均衡技术,每个节点可以支持300的并发请求,5节点支持1500的并发请求,但是单体结构电力交易系统无法满足各个省市的电力市场性能需要,与此同时这种架构无法动态弹性的拓展资源。

1.2开发效率低下

针对单体结构的电力交易系统,直接耦合不同的模块,而不同的模块其开发组维护都是不同的,需要根据自身进展确定模块的开发进度,其它模块的开发速度也关系到模块的开发进度。

1.3迭代速度低

单体结构的电力交易系统代码更新一个模块,那么整个工程就要重新打包发布,发布时间比较长,还要承担较高的成本,需要4个多小时的时间申请系统的部署检修时间,无法升级互联网模式的无感知系统。

1.4很难拓展

单体结构电力交易系统将不同的模块构建在一起,对于程序的公共资源进行共享,某个模块出现性能瓶颈,那么新增代码就要避开这个模块,继续实施开发,无法有效的扩展系统模块

1.5运维成本高

单体结构的电力交易系统紧密耦合多个模块,需要由运维人员通过操作整个系统更新发布和追查问题,这样就会影响到实际运维。此外单体结构的电力交易系统容错性也比较差,单体结构电力交易系统利用单体模式系统,如果其中一个模块出现了问题,那么整个系统可能会由此发生崩溃。

2.微服务架构的优势

互联网不断迅速发展,促进超大规模在线系统不断发展。访问量和业务场景无法庞杂,因此这些系统也在不断的发生演变。而微服务组合各种单一应用程序为小服务,具备自身形成和轻量化处理,可以根据业务功能设计服务,实现全自动的部署。微服务的设计理念就是业务逻辑,设置每个具体业务功能为独立服务,发展了SOA设计理念,利用功能模块组件化思想,每个功能模块都是独立的服务,这种设计思想去除了中心化思想,服务之间变得更加灵活,可以更好的应对业务变化。以下是具体的优势:

2.1逻辑清晰

微服务架构抽象独立逻辑单位为一个服务,单元之间的耦合程度得到降低,体现出复合软件工程的设计理念,不仅可以抽象业务单元为服务,也可以抽象任务调度和系统配置等基础功能为独立服务,彻底解耦了系统。

2.2开发迭代速度高

可以独立开发部署任何一个项目,使项目的迭代速度由此得到极大的提高。除此以外维护起来也非常方便,因为微服务架构的独立服务属于独立的系统,并且会有专门的团队进行维护,变更一个服务,其他的服务无需同步的更新。

2.3伸缩性好

微服务可以实现单独的扩展,如果一个服务负载比较高,可以拓展这个服务的资源,利用服务注册和发展技术,扩展平滑水平,可以避免重新启动。此外微服务的容错性也比较好,微服务架构当中独立部署各个服务,因此服务之间都是相互独立的关系,如果某个服务发生非了异常问题,整体系统并不会因此发生崩溃。

3.微服务在电力交易系统中的应用分析

3.1RPC关键通讯技术协议

在微服务当中,比较常用的通信方式就是RestFul和RPC。REST属于一种网站设计模式,客户端利用HTTP协议,可以和服务端实施通信。RPC属于一种计算机通信协议,一台计算机程序调用另外一台计算机子程序的过程中,可以利用RPC,程序源也无需再实施额外的编程。

RestFul调试和实现都非常便捷,开发成本也比较低,很容易就会穿越防火墙。RPC可以调用远程服务,并且调用效率比较高。各个互联网公司在微服务实践当中通常都会利用RPC的方式。

实践过程中利用Thrift框架进行通信,这种技术可以跨越语言,利用Thrift可以确定数据交互的格式,并且可以转化代码为不同语言,保证调用的便利性。Thrift框架具备高性能,体积比较小,占用的流量也非常少,在高并发环境下,可以节省消耗带宽,同时Thrift框架可以实现同步或者异步的协议,结合压力测试结果实施调整。Thrift框架现如今被广泛的应用,因为这种技术已经相对比较成熟,运维过程也非常便利,在淘宝和Facebook等互联网公司都在利用Thrift。

3.2服务注册和发现机制

在微服务系统当中,通过服务注册和服务发现技术,RPC客户端和服务端可以寻找到对方,服务方服务器利用服务注册,在服务管理系统当中注册,客户端利用服务发现技术,确定管理系统当中注册的服务方,服务端新增服务器,或者将服务器下线,可以及时通知客户端进行实时变更。本文主要论述Zookeeper技术,这种技术属于分布式系统,具备命名管理和配置服务等功能,Zookeeper利用树形层次模型,一旦建立此种节点就不会被删除,除非通过主动操作删除。而临时节点的生命周期通常就是一个会话期,如果结束了会话期,就会删除该节点。

Zookeeper可用性比较高,在每个节点都备份了存储数据,Zookeeper利用leader实现更新,这样数据的一致性可以得到保证,同时也可以避免发生单点故障问题。在同一个客户端,Zookeeper可以接受更新的顺序。Zookeeper集群备份的各个节点数据,最终都会实现一致性。

3.3负载均衡机制

微服务架构当中,需要均匀分配流量,利用负载均衡机制可以实现这种效果,可以利用软件或者硬件实现负载均衡机制,结合应用场景,确定负载均衡技术。电力交易系统利用hrrp接口,选择的负载均衡手段可以是nginx,利用域名和URI结构落实负载均衡机制,在服务当中可以加入负载均衡策略。如果服务方是无状态的,利用随机方法就可以获得良好的效果。

结束语:

本文对于微服务在电力交易系统中的应用进行全面的论述,通过论述可以明确利用微服务,可以使电力交易系统的系统性能和拓展性等不断提升,但是同时电力交易系统也会变得更加复杂,提出更高的开发要求和运维要求。因此信息系统需要结合自身业务情况,正确的评估和验证微服务改造。

参考文献:

[1]李忠民,齐占新,周庆虎.大型互联网平台微服务化改造六得——某大型企业电子商务平台微服务化改造实践纪实[J].科技创新与应用,2017(35):1-6.

[2]黄嘉诚,董晶.基于微服务的智能档案服务系统设计与实现[J].电子设计工程,2018,26(2):26-30.

[3]胡星,王泽瑞,李烁,等.POP:一个基于微服务架构的在线编程系统[C]//全国软件与应用学术会议.2015.

[4]杨志和,辛琦林.基于微服务架构的学习服务手机APP应用系统开发[J].电脑迷,2017(21).

[5]洪华军,吴建波,冷文浩.一种基于微服务架构的业务系统设计与实现[J].计算机与数字工程,2018,46(1):149-154.