缩略图

基于微服务架构的经济风险智能管控系统平台的建设

作者

杨永军 李干 张童婧

航天科工网络信息发展有限公司

摘要:2023年2月,我参加了X集团经济风险智能管控系统的开发,担任系统架构设计师,主要负责整体架构设计与技术选型。作为国家防范及化解重大风险决策部署的重点项目,该系统构建融合审计管理、法律合规以及风险内控三大业务,建立实时在线的风险监控和预警体系,为智能化管控提供重要决策依据。本文以经济风险智能管控系统为例,主要讨论了微服务架构在该项目中的具体应用。本文简要说明了微服务技术框架的理论概念、包含的服务特点、架构优势和实现方式,并详细阐述了如何基于微服务理念设计经济风险智能管控系统架构。整个系统开发工作历时9个月完成。目前,该系统已稳定运行一年。实践证明,这种架构设计有效地集成了不同主题域系统,降低了系统整体的开发和维护成本,提高了系统的可拓展性,可复用性和可移植性。

关键字: 经济风险智能管控,微服务架构,系统性能

1.项目概况

面对波谲云诡的国际形势、复杂敏感的周边环境、艰巨繁重的改革发展稳定任务,国家要求各企业需坚持底线思维,增强忧患意识,提高风险防控能力,保持经济持续健康发展和社会大局稳定。

在此大背景下,本系统建设以集团公司审法业务发展现状为输入,以业务蓝图规划愿景为指引,建设集团公司级的基于大数据背景下的集团公司经济风险智能化管控系统。该系统是建立在信息技术基础上,利用现代企业的先进管理思想,为企业提供决策、计划、控制与经营绩效评估的全方位、系统化的审计与法律合规事务管理平台。

本次经济风险智能化系统按照事前防范预警、事中执行管控、事后审计监督管理思路构建系统功能架构,实现风险预警、控制、化解的闭环管理,形成数据驱动的风险监控业务模式。功能应用建设为1+1+3,即1个门户、1套可视化看板、3个业务应用系统。项目组全体成员共45人,我主要负责整体架构设计与技术选型。该项目于2023年11月结项,整个项目耗时9个月。

2.理论部分

在架构工作的开始阶段,我们便意识到微服务架构将系统以组件化的方式分解为多个服务,服务之间相对独立,单一功能的改变只需要重新构建部署相应的服务即可。比传统的SOA架构将服务拆分的颗粒度更细、功能间的解耦更彻底,且去中心化,服务开发更敏捷。

微服务架构有如下的特点:

1) 通过服务实现应用的组件化(Componentization Via Services),在应用架构设计中,通过将整体应用切分成可独立部署及升级的微服务方式,进行组件化设计。

2) 围绕业务能力组织服务(Organized Around Business Capabilities),微服务架构采取以业务能力为出发点组织服务的策略,因此微服务团队的组织结构必须是跨功能的、强搭配的DevOps开发运维一体化团队,通常这些团队不会太大。

3) 基础设施自动化(Infrastructure Automation),云化及自动化部署等技术极大地降低了微服务构建、部署和运维的难度,通过应用持续集成和持续交付等方法有助于达到加速推出市场的目的。

4) 故障处理设计(Design For Failure),微服务架构所带来的一个后果是必须考虑每个服务的失败容错机制。因此微服务非常重视建立架构及业务相关指标的实时监控和日志机制。

5) 演进式的设计(Evolutionary Design),微服务应用更注重快速更新,因此系统的计会随时间不断变化及演进。

根据用户需求结合场景分析,我们最终采用了微服务架构风格开发本系统。下面具体论述其应用过程:

3.实践部分

在架构需求阶段,我们遇到的主要问题是如何将经济风险智能化管控系统的完整需求切分为合适的大小。在需求前期阶段,我们采用了敏捷管理的方式,把需求调研团队按主题域分为3个scrum小组,由各组的产品负责人牵头,分别进行用户故事收集,目标是完成各组的product backlog。通过与审计部门、法律部门及风险内控部门业务负责人的的详细沟通,我们对经济风险智能化管控系统的主要业务功能、用户角色等有了整体、全面的了解。在需求的中期阶段,我们在客户方的协助和安排下,跟随各系统的业务人员,前往各业务部门,对审计合规管理、法律合规管理及风险内控管理进行详细的实地调研,了解了在传统风险控制中,业务人员的具体操作流程, 经过需求评审会我们获得合适大小的用户故事。在需求的后期阶段,我们基本上已经完成了大部分业务需求的收集,通过快速原型和伪代码系统供用户试用与反馈,让用户也参与到设计中,提供了工作流程方面、业务领域方面不可或缺的经验,也为以后项目通过验收提供了有力支持。最终制作了带有DOD业务指标的product backlog,经过统计整理后,为每个开发小组确定了迭代周期和sprint backlog。

在架构设计阶段遇到的主要问题是如何合理设计与描述微服务软件架构。我们以UML 模型中的4+1 视图来对架构建模。场景视图使用UML 模型中的用例图来进行建模,结合用户需求,在系统中划定了审计管理人员、法律案件管理人员、风控管理人员及经济指标管理人员四类用户角色,并分别为这些角色标识了相应用例。逻辑视图使用UML 模型中的包图来进行建模,本层我们采用微服务架构风格进行开发,将系统分为前端Web 服务、平台保障服务、业务服务三部分。前端Web 服务由负载均衡与服务器集群结合;平台保障服务分为API 网关、服务注册中心、监控平台,用以实现基础服务框架;业务服务分为多个微服务,实现具体业务功能。物理视图使用UML 模型中的部署图来进行建模,系统微服务采用分布式的部署方法,每个微服务根据实际情况可在同一台物理机器或多台物理机器上同时部署多个实例。集群通过负载均衡做统一访问,部署为路由模式,系统内部网络与外部网络分属于不同的逻辑网络。在负载均衡算法的选择上,使用了最小连接法。

4.效果分析

最终项目成功上线,正常运行了一年多,收到甲方一致好评,同时也在公司内部获得了优秀项目奖,尤其是看板实时展示功能,为解决集团全级次单位风险事项、风险评估管理、成熟度评价的实时上报、化解或整改情况的实时跟踪提供了良好的技术和数据支持。在系统的架构设计中,我们引入了微服务架构的设计思想,有效地解耦服务提供和服务调用者之间的关系,提高了系统的开放性,可扩展性,可重用性以及可移植性。当然还是存在一些问题的,如历史系统中审计事件、法律事件历史信息的导入问题,对这种高水平高价值的遗留系统问题,我们采用了重构整合的方式进行了改造,保证了系统的延续性。