论文部分内容阅读
【摘 要】南网互联网统一服务平台作为公司数字化转型要打造的四大业务平台之一,承担着整合公司“互联网+”业务,研究构建“互联网+”商业模式,打造能源经济合作新业态,完成公司从传统信息系统向基于南网云的新一代数字化基础平台和互联网应用的转型的重任。本文介绍了微服务架构在互联网统一服务平台的实践,重点探讨业务中心规划、系统架构设计、微服务粒度划分以及开发运维一体化尝试等内容。
【关键词】微服务;电力营销;互联网+
1 需求分析
南网互联网统一服务平台是一个直接供客户使用的互动系统,是公司数字化转型要打造的四大业务平台之一,需要能敏捷地对客户需求做出响应和改变,需要能快速交付创新成果以提升客户体验和忠诚度,具体需达成如下目标:
(1)构建客户统一服务模式
以客户为中心,将用电客户、电商客户、电动汽车客户、光伏客户、能效客户、金融客户等所有的客户汇聚到统一用户中心,为全渠道客户提供统一账户服务,实现一次注册、全渠道应用。并通过客户全息信息管理、客户特征分析、客户全景视图等功能,为全渠道客户提供差异化的服务。
(2)构建高效互动响应
平台应实现各渠道统一服务接入、统一服务访问控制、统一数据处理服务、统一消息管理、统一消息推送、统一客户服务分级、统一路由调度、统 一服务监控、统一接口管理、统一访问权限管理,促进电力企业和客户之间高效互动,统一服务入口和内容,提供更加多元化、符合客户需求的服务产品,实施渠道一体化运营,保持渠道间服务体验一致性,使其满足8000万用户对现有功能的系统需求。
(3)推动主动服务模式实施
推动各类业务在线上的一网通办,实现常用办电业务“一次都不跑”,非常用业务“最多跑一次” 的服务模式落地,提升业务申请便捷程度,以移动化、互动化的方式,为客户提供智能化、个性化服务。
(4)构建互联网+统一客户的管理
形成客户全景视图,汇聚用电客户、电商客户、电动汽车客户、光伏客户、能效客户、结算客户等所有的客户信息和业务信息,挖掘客户价值,赋能产业发展。
2 解决方案
2.1业务中心规划
业务中心设计主要考虑高内聚低耦合、数据完整性和可运营等原则,即一个业务中心内业务应该是相关性很高,而业务中心之间业务隔离性比较大,而且每个业务中心数据模型是相对独立和完整的,总之,一个业务中心可以理解是承载业务逻辑、沉淀业务数据、产生业务价值的业务单元。
2.2系统架构设计
平台基于南网云PAAS平台建设,采用微服务框架、前后端分离技术实现,数据使用大数据平台存储。如图1所示,系统前端使用nginx服务器,负责html页面等静态资源解析,后端采用Java服务器(tomcat)负责业务逻辑处理。前端页面通过ajax调用后端的restuful api接口并使用json数据进行交互,这样好处是前端开发可专注前端逻辑实现,并且前端服务器可以通过水平扩展动态抵御访问洪峰,后端开发则可专注业务逻辑实现,只提供服务接口以支持多前端,大大提高代码重用性和可维护性。系统把微服务拆分成两类,一类是有状态服务即图中的微应用,部署在网侧DMZ区,负责面向前端提供访问服务,以及接收和维持客户端的会话状态,微应用具备把会话状态转成无状态的能力;一类是无状态服务即图中的微服务,部署在网侧IDC区,负责处理业务逻辑,供微应用或其他外部应用调用,每个微服务运行实例通常是一个云虚拟机或者一个Docker,由于无状态,方便进行横向扩展以支持高并发访问。
2.3服务粒度考量
在本项目中,我们主要采用如下步骤来确定微服务粒度:
①首先,从业务出发将整个系统拆分多个业务中心,参见2.2节,每个业务中心是承载业务逻辑、沉淀业务数据、产生业务价值的业务单元。
②其次,参考业务中心数据模型以及各渠道端界面原型需求,识别出业务中心所有最小粒度业务功能单元,在此基础上梳理出所有服务接口清单,每个服务接口要能支持不同渠道服务需求,以保证每个微服务支持多前端。
③最后综合考虑业务、技术和治理方面因素,将服务接口从底向上聚合成微服务。业务方面主要考虑单一职责原则,每个微服务代表特定的业务逻辑,避免微服务之间共享数据库表;技术方面主要考虑部署独立性和动态扩展,避免分布式事务,每个微服务可以独立开发和演进。治理方面主要考虑微服务运行策略配置合理和便利性,例如将高低频访问服务接口分割成独立的微服务,可以为高频访问服务获得更好的性能和可靠性做针对性优化。
总之,微服务粒度划分没有一个简单方法,必须在遵循一些基本原则基础上综合考虑多方面因素做到合适粒度就可以了。在本项目中平台最终规划了八大业务中心,30个左右微服务,200左右服务接口。
2.4开发运维一体化
采用微服务架构的目的之一就是将单体应用分解为微小的互相连接的微服务,以期能敏捷地对客户需求做出响应和改变,快速交付创新成果以提升客戶体验和忠诚度。我们知道传统开发与运维是分离的,运维与开发处于信息系统不同生命周期阶段,开发负责功能实现,运维负责系统上线后系统的稳定和高效运行,并且开发和运维通常是由不同部门负责的,二者关注的目标不一致,造成开发与运维之间存在一堵很沉重的墙,很难实现应用程序的快速交付。因此,在本项目中我们“前移”运维工作,采用开发运维一体化运作模式,确保统一服务平台项目具备持续交付及持续运营的能力。
3 结束语
基于微服务架构的南网统一服务平台目前已经成功上线运行,服务全网8000多万客户,应用效果比较显著。平台通过一套微服务支持网厅、掌厅、微信公众号、支付宝生活号等多个前端,实现客户一次注册、全渠道应用,改变了以前不同渠道客户需重复注册现象,大大提升了客户通过互联网办理业务比例,为南网业务办理“一次都不跑”的承诺提供坚实可靠的技术保障。在项目实践中,对微服务粒度划分方法做了比较深入研究,对开发运维一体化也做了有益尝试,并取得不错成效。
(作者单位:南方电网数字电网研究院有限公司)
【关键词】微服务;电力营销;互联网+
1 需求分析
南网互联网统一服务平台是一个直接供客户使用的互动系统,是公司数字化转型要打造的四大业务平台之一,需要能敏捷地对客户需求做出响应和改变,需要能快速交付创新成果以提升客户体验和忠诚度,具体需达成如下目标:
(1)构建客户统一服务模式
以客户为中心,将用电客户、电商客户、电动汽车客户、光伏客户、能效客户、金融客户等所有的客户汇聚到统一用户中心,为全渠道客户提供统一账户服务,实现一次注册、全渠道应用。并通过客户全息信息管理、客户特征分析、客户全景视图等功能,为全渠道客户提供差异化的服务。
(2)构建高效互动响应
平台应实现各渠道统一服务接入、统一服务访问控制、统一数据处理服务、统一消息管理、统一消息推送、统一客户服务分级、统一路由调度、统 一服务监控、统一接口管理、统一访问权限管理,促进电力企业和客户之间高效互动,统一服务入口和内容,提供更加多元化、符合客户需求的服务产品,实施渠道一体化运营,保持渠道间服务体验一致性,使其满足8000万用户对现有功能的系统需求。
(3)推动主动服务模式实施
推动各类业务在线上的一网通办,实现常用办电业务“一次都不跑”,非常用业务“最多跑一次” 的服务模式落地,提升业务申请便捷程度,以移动化、互动化的方式,为客户提供智能化、个性化服务。
(4)构建互联网+统一客户的管理
形成客户全景视图,汇聚用电客户、电商客户、电动汽车客户、光伏客户、能效客户、结算客户等所有的客户信息和业务信息,挖掘客户价值,赋能产业发展。
2 解决方案
2.1业务中心规划
业务中心设计主要考虑高内聚低耦合、数据完整性和可运营等原则,即一个业务中心内业务应该是相关性很高,而业务中心之间业务隔离性比较大,而且每个业务中心数据模型是相对独立和完整的,总之,一个业务中心可以理解是承载业务逻辑、沉淀业务数据、产生业务价值的业务单元。
2.2系统架构设计
平台基于南网云PAAS平台建设,采用微服务框架、前后端分离技术实现,数据使用大数据平台存储。如图1所示,系统前端使用nginx服务器,负责html页面等静态资源解析,后端采用Java服务器(tomcat)负责业务逻辑处理。前端页面通过ajax调用后端的restuful api接口并使用json数据进行交互,这样好处是前端开发可专注前端逻辑实现,并且前端服务器可以通过水平扩展动态抵御访问洪峰,后端开发则可专注业务逻辑实现,只提供服务接口以支持多前端,大大提高代码重用性和可维护性。系统把微服务拆分成两类,一类是有状态服务即图中的微应用,部署在网侧DMZ区,负责面向前端提供访问服务,以及接收和维持客户端的会话状态,微应用具备把会话状态转成无状态的能力;一类是无状态服务即图中的微服务,部署在网侧IDC区,负责处理业务逻辑,供微应用或其他外部应用调用,每个微服务运行实例通常是一个云虚拟机或者一个Docker,由于无状态,方便进行横向扩展以支持高并发访问。
2.3服务粒度考量
在本项目中,我们主要采用如下步骤来确定微服务粒度:
①首先,从业务出发将整个系统拆分多个业务中心,参见2.2节,每个业务中心是承载业务逻辑、沉淀业务数据、产生业务价值的业务单元。
②其次,参考业务中心数据模型以及各渠道端界面原型需求,识别出业务中心所有最小粒度业务功能单元,在此基础上梳理出所有服务接口清单,每个服务接口要能支持不同渠道服务需求,以保证每个微服务支持多前端。
③最后综合考虑业务、技术和治理方面因素,将服务接口从底向上聚合成微服务。业务方面主要考虑单一职责原则,每个微服务代表特定的业务逻辑,避免微服务之间共享数据库表;技术方面主要考虑部署独立性和动态扩展,避免分布式事务,每个微服务可以独立开发和演进。治理方面主要考虑微服务运行策略配置合理和便利性,例如将高低频访问服务接口分割成独立的微服务,可以为高频访问服务获得更好的性能和可靠性做针对性优化。
总之,微服务粒度划分没有一个简单方法,必须在遵循一些基本原则基础上综合考虑多方面因素做到合适粒度就可以了。在本项目中平台最终规划了八大业务中心,30个左右微服务,200左右服务接口。
2.4开发运维一体化
采用微服务架构的目的之一就是将单体应用分解为微小的互相连接的微服务,以期能敏捷地对客户需求做出响应和改变,快速交付创新成果以提升客戶体验和忠诚度。我们知道传统开发与运维是分离的,运维与开发处于信息系统不同生命周期阶段,开发负责功能实现,运维负责系统上线后系统的稳定和高效运行,并且开发和运维通常是由不同部门负责的,二者关注的目标不一致,造成开发与运维之间存在一堵很沉重的墙,很难实现应用程序的快速交付。因此,在本项目中我们“前移”运维工作,采用开发运维一体化运作模式,确保统一服务平台项目具备持续交付及持续运营的能力。
3 结束语
基于微服务架构的南网统一服务平台目前已经成功上线运行,服务全网8000多万客户,应用效果比较显著。平台通过一套微服务支持网厅、掌厅、微信公众号、支付宝生活号等多个前端,实现客户一次注册、全渠道应用,改变了以前不同渠道客户需重复注册现象,大大提升了客户通过互联网办理业务比例,为南网业务办理“一次都不跑”的承诺提供坚实可靠的技术保障。在项目实践中,对微服务粒度划分方法做了比较深入研究,对开发运维一体化也做了有益尝试,并取得不错成效。
(作者单位:南方电网数字电网研究院有限公司)