2021年10月,中国人民银行等联合发布了《关于规范金融业开源技术应用与发展的意见》(银办发〔2021〕146 号),规范金融机构合理应用开源技术,提高应用水平和自主可控能力,促进开源技术健康可持续发展。前期,为助力成员单位做好开源技术应用与发展工作,北京金融科技产业联盟开源专委会组织了金融业开源技术应用、创新等方面的案例征集,现对部分优秀案例进行宣传,发挥先进典型示范引领作用。
随着国家提出信息系统“安全、可控”的战略目标,为应对银行业务市场快速变化,浙商银行需要一套统一的开发平台来降低系统耦合、提升开发运维效率、提高系统可维护性和可扩展性。
微服务是目前公认的服务计算方向,建设完整的微服务架构体系,统一的服务化开发有助于减少开发的重复工作,提升应用开发的效率,能与持续集成平台整合加快业务需求交付的速度,同时微服务架构体系下的运维监控能减小运维的成本,完善监控体系,最终能提升自动化运维程度。
Hades分布式微服务平台采用服务化的理念,打造“厚平台薄应用”平台,形成共享服务中心,提高系统的柔性和扩展性,确保系统能够敏捷响应业务需求,促进业务创新。服务集成可以采用RPC、SOAP以及Rest等方法来实现。在进一步暴露组合业务功能的基础上,将行内原有总线同服务化的业务共享层结合。实现业务功能的共享沉淀,按照共享业务的模式重新编排,为浙商银行各系统敏捷迭代开发提供支撑。
根据实际业务需要,Hades分布式微服务平台使用了Apollo、Nacos、Spring boot、Dubbo、RocketMq、Kafka等开源技术,构建了微服务注册中心、微服务配置中心、分布式日志收集、微服务API网关、微服务调用链监控、消息队列服务等一系列微服务基础设施和开发框架,通过对以上微服务平台组件的有机整合,形成了对业务系统开发运维的强大支撑。
(1)可视化服务治理,团队基于国产TDengine、element-ui等国产优秀开源软件,自主研发了服务治理平台,实现了指标统计、链路追踪、监控告警等功能,达到了减少故障定位时间、辅助应用程序性能优化、提高开发运维效率的效果。
(2)开关驱动开发,平台引入了Apollo配置中心,能实现配置数据和应用的版本内容分离,开发人员可在程序中埋入开关逻辑,根据配置中心开关配置控制程序逻辑,实现比如灰度发布等功能,有效支撑DevOps的小步快走的理念。
(3)集中式日志收集,基于开源ELK体系,将本来散落在服务器节点上的日志统一收集到ElasticSearch集中存储,方便开发运维人员搜索查看。
(4)微服务开发框架,除了基础的服务支撑功能,平台还自研开发了一套配套的各类前后端及批处理应用开发框架,及一些公共服务、基础服务,如RPC组件、数据库访问组件、分布式文件服务、ESB调用服务、ESB访问服务。
(5)支持国产信创环境,平台响应国家信创战略,支持国产的软硬件平台,支持从芯片到机器设备,到操作系统和应用层的全栈国产的部署。
Hades分布式微服务平台引领浙商银行软件开发从传统单一架构模式转向分布式微服务架构模式,该平台为浙商银行统一开发技术框架,减少研究学习成本,提高开发效率和水平,面对激烈的市场竞争,缩短了新业务的研发周期,提高了IT系统的持续交付能力。
当前,外部环境变化带来变革压力,客户数字化进程加快、新特征和新需求涌现,银行业竞争复杂程度加深,银行数字化转型迫在眉睫。传统的集中式的IT系统架构,模块间耦合性高,灵活升级难度大,产品尊龙凯时人生就博官网登录交付周期长,主机运营、扩容、升级成本高。随着银行业务越来越复杂,集中式架构IT资源的效率、扩展性、可维护性都面临很大的挑战。在金融信创政策推动,安全可控大势所趋的背景下,银行IT架构向分布式升级具有迫切性。基于开源技术的分布式微服务平台,能够使开发成本更低、效率更高、用户体验更好、开发测试更加敏捷,有利于我国信息产业和银行业在技术上实现自主可控,适应国家网络空间安全战略。