继网商银行、微众银行等互联网银行之后,渤海银行、邮储银行等传统银行也成功在新一代核心中应用了分布式单元化架构【1】【2】;当此之时,即使最保守的银行IT从业人员,对于“核心系统能够采用分布式架构构建”应该也没有疑义了。十年之前,这还是不可想象的事情。然而细究之下,“核心系统能否采用分布式架构”是一个伪命题,核心系统一直是采用分布式架构构建的。
![](https://img.haomeiwen.com/i28941799/717283f82e44565a.png)
以某大行Z行为例,在建设全国统一的核心系统之前,该行各省级分行分别建设了独立的核心系统,各省分行核心系统之间通过统一的互联平台交互,共同完成全行的业务。这个阶段,从省行的角度如何看核心系统的架构姑且不论,从全行的角度看核心系统显然是分布式的。及至Z行完成全国大集中,上收各分行核心,基于大型机体系建设了全国统一的核心系统,从物理部署上看,Z行新核心是集中式的,但从软件体系结构上看,很难得出同样的结论,因为新核心内部也划分了多个逻辑分区,各个分区之间几乎是独立的,各自运行。因此,问题的本质不在于“向分布式架构转型”,而是除主机体系、小型机体系外,是否还有一个技术体系可以承接银行核心系统的建设?
![](https://img.haomeiwen.com/i28941799/ec67cb2867b32369.png)
近年来,随着IT技术的迅猛发展和开源社区的壮大,上文提出的问题有了新的答案,这就是基于PC机的开放体系。这一体系中,在硬件层,是采用X86或ARM指令CPU的PC服务器,在操作系统层,一般是Linux,在数据库层,一般是MySQL或者PG,在中间件层,一般是SpringCloud,这样形成了对主机体系、小型机体系的全面替代。但是,这一体系目前并不尽善尽美,第一是可靠性较低,这是基于这一体系进行开发构建时要牢记的前提,任何处理机制都要考虑高可用方案或者兜底方案;第二是分布式事务的处理,要么类似主机体系、小型机体系,在数据库层解决问题,引入OB、TD等分布式数据库,要么在应用层引入TCC、SAGA机制,通常就是这两种方式;第三是功能完善度较低,相比于主机体系、小型机体系,开放体系软件大多需要进一步完善,才能应用到生产。
通过以上的分析,不难看出,基于开放体系的银行核心系统构建,难度较主机时代、小型机时代是增加不少的,因为不但要完成应用层的开发,还要进行中间件层、数据库层的开发,未选用分布式数据库的情况下,还要考虑分布式事务的处理,这些工作都会增加开发难度。不过,这里的难度不是论证理论上是否可行,理论上肯定是可行的,这些难度都是实施中的难度,通过良好的项目组织、务实的设计开发、精益的测试调试,这些难度都是可以克服的,基于开放体系的核心系统也能够构建成功。
参考文献:
【1】王飞鹏,李宁宁,游晋澜,等.渤观约取 海润万物——新核心系统分布式单元化架构的应用实践[J].金融电子化, 2022(11):88-90.
【2】坚持走自主可控之路 邮储银行新一代个人业务核心系统建设圆满收官,https://www.psbc.com/cn/gyyc/ycfm/ycdt/202302/t20230206_193356.html
网友评论