(广州供电局有限公司)
摘要:针对当前云端智慧供电营业厅管理系统同时管理所有用户家庭的设备信息,系统越来越庞大和笨重,难以维护和迭代更新的问题,引入微服务架构。根据当前开发和维护的智慧供电营业厅管理系统,结合实际业务情况,采用微服务架构,将系统划分为多个微服务,选用Spring-Cloud开源微服务治理框架,对智慧供电营业厅管理平台进行总体的架构设计和功能设计。为开发智慧供电营业厅管理系统提供了一种解决思路与方案。
关键词:智慧供电营业厅;智慧供电营业厅;微服务
是随着用户的增长,不同家庭对部署在云端的营业厅管理系统软件的需求产生快速变化,系统的单体架构已经无法适应互联网时代的快速变化,导致项目的开发、维护、升级和扩展新功能都非常困难。因此需要一种基于组件化开发、分布式部署的架构策略来支撑营业厅管理统的建设。目前比较流行的微服务架构正是解决此种问题的理想解决方案。
1.微服务介绍
1.1微服务的来源与设计理念
随着微服务架构的持续火热,越来越多的人开始关注与思考如何从单体架构迁移到微服务上。“微服务”一词最早出现在2011年5月在威尼斯召开的软件架构研讨会上,它克服了单体式应用架构的诸多缺陷,已经在知名互联网公司中得到了广泛应用。
微服务架构虽然是继承了面向服务架构(SOA)的特点,但在架构本质设计方面仍存在一定差别。SOA着重于企业服务总线,在微服务中,各个服务松散、自治,服务间低耦合,强调服务的“独立性”——独立开发、独立部署和独立运行,减少应用开发的复杂性,从而具有灵活性大、易实施和可扩展等优点。采用一组服务的方式来构建一个应用,服务独立部署在不同的进程中,不同服务通过一些轻量级交互机制来通信,例如RPC、HTTP等,服务可独立扩展伸缩,每个服务定义了明确的边界,不同的服务甚至可以采用不同的编程语言来实现,由独立的团队来维护。
1.2微服务架构的优势
微服务的一些优势是显而易见的:
1)将一个复杂的业务拆分成若干个小的业务,每个业务拆分成小的服务,这样将复杂的问题简单化,服务的边界变的明确。服务按照业务拆分,编写的代码也是按照业务划分的,极大的提升了程序的可读性与可拓展性。
2)微服务的每个服务单元都是独立部署的,也就是各自都有自己独立的进程。当某个服务模块发生代码变更时,不需要重新编译、部署整个应用,这样单个服务的重新部署不会影响到其他服务,简化了测试与应用的部署。
3)由于微服务架构属于分布式系统,各个服务之间没有任何的耦合关系。随着业务的增加,之后的迭代开发可以根据业务继续拆分出微服务,所以微服务架构系统具有很强的横向拓展能力。并且开发出的微服务可以进行集群部署,由此以解决由于用户数量的增加带来的并发访问量的问题。
4)微服务架构中每个拆分出来的微服务都可以由负责的团队独立开发,根据团队技术栈自由选择任何合适的开发语言来实现,只要服务符合指定的API协议。开发人员不再被强迫使用公司以前的技术或者已经过时的技术,而是可以根据业务场景自由选择最新最合适的技术来实现服务。
2微服务智慧供电营业厅管理平台的需求定位
伴随着互联网的发展,智慧供电营业厅管理系统需实现可以随时随地通过网络对家庭营业厅中设备信息进行管理,该平台也是以此作为需求定位。
1)集中式的需求定位
用户家庭设备信息往往独立存储于用户家庭营业厅中,这样管理人员对设备信息的维护往往都需要上门维护,非常不方便。这就需要一个统一的管理中心,实现将分散的智慧供电用户设备信息统一管理,提高管理效率。
2)个性化的需求定位
结合用户需求不同、天气以及在家状态,尊重用户意愿,定制多样的设备组合,实现情景模式的个性化定制。
3)数据一致性的需求定位
用户家庭设备信息保存在自己的家庭营业厅中,而管理人员统一管理的是存储在云端的设备信息,是用户家庭营业厅中数据的备份。在维护过程中为了保证双方的数据一致,需要采取相应的通讯措施。
3微服务架构在智慧供电营业厅中的应用
当前开发和维护的智慧供电营业厅平台,随着用户的增加,不同用户的需求变化可能会出现单体架构的应用解决不了的问题,从而引入微服务架构对该平台架构进行重构,提升平台的横向拓展能力。智慧供电营业厅管理平台是由服务人员通过获取用户授权来代替客户管理各自普通营业厅中保存的设备数据。系统部署在云端,通过服务器端与普通营业厅的通讯来保持两边数据的一致性。
3.1服务划分
根据微服务架构原理,与当前系统的实际情况,将智慧供电营业厅管理平台进行拆分,划分出符合用户需求的定制性服务和平台的基础性服务。定制服务提供目前根据系统功能需求划分的能够实现基础业务功能的服务;基础平台服务目前包括日志服务与数据模块服务。系统划分出的微服务如表1。
表1 微服务列表
图2 系统架构图
进行基于微服务的智慧供电营业厅管理平台的架构设计时,遵循“高内聚、松耦合”的设计思想,实现平台的开放性、软性和可扩展性。基于微服务架构理念,对系统提供的业务功能加以重构,使之解耦成相互独立且功能专一的服务,服务间以轻量级的通讯方式进行沟通,通过服务间的相互协作构建供外部访问的应用平台。
智慧供电营业厅管理平台框架主要包括四层:
1、服务渠道接入层:管理员获取用户授权,通过建立各种应用及设备(例如微信、掌上营业厅等)来聚合调用所需要的微服务接口,进入到应用服务层,从而对授权的服务设备信息加以维护。
2、应用服务层:由拆分出来的多个相互独立、可拓展的微服务构成,包括业务相关的微服务与基础服务。业务微服务包括用户微服务、设备微服务、情景模式微服务等,基础微服务包括权限认证、日志管理等服务。根据服务的重要性排序后,进行早期版本开发,服务根据业务需要封装扩展和实现迭代开发。在微服务架构中,每个服务根据实际情况采用各自独立数据库或共享数据库,采用数据库进行相关数据信息的存储。
3、基础应用服务层:系统中拆分出每个应用链接一般有不同的访问地址,在完成一个业务需求时客户端调用方可能需要调用多个微服务接口才能满足需要。如果客户端直接和拆分出的不同网关信息进行通信,可能会存在问题,但都可以借助智慧营业厅解决。微服务智慧营业厅是介于调用端和接口提供端之间的中间层,所有的外部请求都会先经过微服务的智慧营业厅,这样调用端只需要和智慧供电营业厅交互,而无需直接调用特定微服务的接口,而且方便对所有微服务接口进行监控,并且易于权限认证,减少调用各个微服务接口之间的交互次数。
4、基础设施服务层:智慧供电营业厅管理平台是为了辅助维护用户普通营业厅数据,要保证两边数据一致性,平台通过实验室制定的通讯协议,实现营业厅与平台及时通讯,以实现异构数据库的增量同步。
4结束语
目前微服务架构的智慧供电营业厅实仍处于起步阶段,还有很大的发展空间,我们将在后续的智慧供电营业厅管理平台建设中不断摸索并完善。本文详细的介绍了微服务架构的发展来源和概念,并结合传统的单体应用架构与微服务架构的对比,阐述了微服务架构的优点、劣势以及应对的方法,然后阐明了智慧供电营业厅管理平台目前的实际需求,最后基于微服务架构设计并实现了服务高可用、可拓展的智慧供电营业厅管理平台。
参考文献:
[1] 谭武梁,毛志雄,曾鸿 .IT 项目管理 [M]. 北京:中国铁道出版社,2007.
[2] 中华人民共和国国家质量监督检验检疫总局,中国国家标准化管理委员会 .GB/T11457-2006 软件工程术语 [S]. 北京:中国标准出版社,2006.
[3] 国家技术监督局 .GB/T15538-1995 软件工程标准分类法 [S]. 北京:中国标准出版社,1995.
论文作者:黄汉森
论文发表刊物:《河南电力》2019年5期
论文发表时间:2019/11/20
标签:营业厅论文; 架构论文; 智慧论文; 用户论文; 业务论文; 管理平台论文; 独立论文; 《河南电力》2019年5期论文;