实践出真知!长亮科技洞见银行构建新一代金融应用平台架构的道与术
金融科技
2020.07.07

建造一座大楼最关键的是什么?没错,肯定是打地基。如果将金融业的应用技术组件集比作建造一座大楼,那金融应用技术平台就相当于这座大楼的关键地基,重要性不言而喻。

近年来,微服务、DevOps、云原生等前沿技术为金融业带来了崭新的趋势和业态,银行在建设新一代企业级 IT 架构时,对于平台化架构的诉求也在逐步演进,金融应用平台体系架构逐渐从大而全的 PaaS(Platform as a Service,平台即服务)演变成一个通用平台(gPaaS,General Platform as a Service)和多个应用平台(aPaaS,Application Platform as a Service)。这是一个不断探索与实践的过程,整个行业都在运用更多前沿技术,实现更加先进的平台化架构。


新一代金融应用平台体系架构究竟该如何构建?实践出真知,长亮科技基于十几年在核心系统的落地实践,对新一代金融应用平台的构建深度洞察,让我们一起看看,长亮科技在这方面观点。

【明道】什么是新一代金融应用平台?长亮科技给你正解

新一代金融应用平台指银行在构建新一代企业级 IT 架构时,以前瞻性、先进性、扩展性、规范性为出发点,规划出的面向金融应用组件集(如存款、贷款、汇款、信用卡类应用组件)的应用开发运行框架。


从字面上理解,“新一代”要突出数字化转型、云原生等前瞻性和先进性的设计理念,“金融”修饰具体的运用场景,聚焦于金融领域,“应用”指主要服务于应用开发人员,提供统一的开发运行框架。

■ 新一代金融应用平台的定位
从上下文来看,新一代金融应用平台应位于通用平台(指微服务框架、DevOps、中间件等通用类软件)之上,屏蔽底层技术的复杂度,并聚焦于为上层金融应用组件提供标准的开发运行框架,实现金融应用组件所需的技术能力需求和公共能力需求(如冲正能力、7*24小时能力、差错对账等能力)。 


新一代金融应用平台的定位


■ 新一代金融应用平台聚焦可复用能力的沉淀


新一代金融应用平台,聚焦于金融应用组件技术能力和公共能力的沉淀,本质上是可复用能力的下沉,所谓工欲善其事,必先利其器,建设新一代金融应用平台对银行来说价值深远:


1)能够清晰识别金融应用组件的可复用性,让应用开发者直接复用,从而提高开发效率;
2)能够屏蔽底层基础设施的复杂度,降低技术栈的替换和升级的影响面,让应用开发者更聚焦于具体业务逻辑的实现;
3)可扩展支撑各种金融应用组件,提供标准化的开发模型,方便维护和管控。

总而言之,新一代金融应用平台需要与底层基础设施很好的集成,才能为上层金融应用组件提供稳定的开发运行环境、服务治理和分布式治理环境。

【优术】从银行核心系统建设,剖析新一代金融应用平台的体系架构设计

长亮科技在银行核心领域具有近20年的积淀,有丰富的产品研发与实施经验,接下来,我们以银行核心系统为例,从多个层面分析长亮科技在新一代金融应用平台体系架构设计中的洞见。


从宏观层面看,新一代金融应用平台可以从总体架构、定位、设计原则、编程模式、组件全景图、典型场景等多个方面进行分析和设计。


在微观层面,围绕每一个技术能力组件和公共能力组件按照组件元模型进行分析和设计。以技术组件为例,组件元模型可以包括组件定位、组件模块视图、组件功能视图、组件集成视图、组件技术视图、组件数据视图、组件运维视图等。


新一代金融应用平台总体架构由联机引擎(服务引擎、服务编排、分布式事务、元数据等)、批量引擎(分布式调度、批量处理)、公共能力(防重、幂等、序列号、数据访问、SPI机制、技术底座等)、开发工具和开发规范组成。


新一代金融应用平台的总体架构


■ 核心组件一:联机引擎

在联机引擎中,元数据、服务引擎、服务编排、分布式事务是联机引擎的核心组件。


元数据,向应用组件提供类型、字段、接口、服务编排、表结构、SQL、错误码等数据的定义、存储和使用。元数据的最大价值是支撑标准的落地,让应用组件的开发标准化。

元数据定义、存储和使用的标准化


元数据具有丰富的使用场景:
1.服务接口标准化,可以生成标准的接口定义文件(如Swagger)、前端页面(柜面前端)、接口文档(如Excel格式接口文档)
2.接口要素合法性检查(根据绑定的数据类型约束进行运行时校验)
3.生成数据访问代码,避免SQL注入
4.审计(表结构、索引、SQL)
5.根据模型自动生成文档

服务引擎,分为接入层、引擎层和数据访问层,其中引擎层又细分为组合服务引擎和基础服务引擎。


接入层实现服务的暴露和接入处理,服务引擎实现服务调度处理。


组合服务引擎集成服务编排组件,提供组合服务能力,并集成分布式事务组件实现分布式事务一致性处理能力。在金融应用组件开发过程中,可以简化联机服务开发,在组合服务引擎中还可通过切面和代理等技术,实现公共前后处理、服务外调、分布式子事务管理等功能,无需应用开发人员关心具体的通讯处理细节、分布式事务处理细节。

分布式事务组件,用于解决跨微服务调用、单元化架构下跨单元调用产生的分布式事务问题。金融应用组件对资金处理的一致性要求非常高,为避免出现资金风险,通常会通过加锁、止付、先借后贷等多种手段进行防护处理。目前主流的分布式事务实现有 TCC、SAGA 两种模式及多种相应的演变模式,但在金融应用场景中往往都采用深度定制的方式实现,需要结合业务和技术进行综合权衡考虑,实现资源隔离、同步补偿、异步补偿、对账差错等多维度的处理机制,此处不做展开。


■ 核心组件二:批量引擎


批量引擎实现金融应用组件的分布式调度处理、批量作业拆分处理。其中有两个关键设计点:分布式调度、批量处理编程模型。

分布式调度,在设计上要充分考虑微服务架构和分布式架构(单元化分布式架构、数据库中间件分布式架构)下的混合调度处理,同时需要关注框架的扩展性、去中心化调度能力、数据分区能力。

分布式调度分为框架层、扩展层、应用层。
框架层提供通用的调度能力(包括调度核心,作业流,定时器)
扩展层对框架能力进行扩展
应用层基于框架层和扩展层之上提供灵活的分布式调度应用

分布式调度分层架构图


在复杂架构(微服务+单元化)下,分布式调度需要支持去中心化调度能力,以降低主节点的调度压力,将调度分散到每个微服务,每个单元处理。

分布式调度去中心化调度设计



【取势】金融应用平台展望:通用平台与应用平台分离成趋势

在新一代金融应用平台演进中,通用平台(包括中间件、微服务框架等通用类组件)与应用平台(面向金融应用的开发运行框架和公共能力)的分离已经成为一种趋势。因为专业性、扩展性、演变路线和解决问题域的不同,应用平台将更聚焦于应用场景业务知识的沉淀(公共能力下沉),未来也有可能逐步演变成应用中台,而通用平台更关注企业级可复用组件,或逐渐演变成技术中台。

新一代金融应用平台未来展望


新一代金融应用平台体系架构并非是一成不变的,它需要在不断探索中升级、与时俱进,在这个过程中,更需要在金融行业深度积淀的科技企业不断地去探索、实践。长亮科技作为深耕金融领域18年的科技企业,在技术创新上不断求索突破,保持领先,首创多个先进架构及产品,一直走在行业技术创新前列,不断引领着行业技术变革和发展。


让中国金融科技 具有世界影响力
长亮科技更懂如何为您的数字化转型赋能