刘雷:金融科技时代中间件的新机遇与挑战

来源:bob体肓官网入口 发布时间:2024-01-05 16:15:46 阅读: 1

  银行业的数据大集中和数字化,使银行业务系统得到了长足进步,为业务提供优质服务的同时也正面临着日益严峻的挑战。以电商和社交模式为主的互联网金融服务,已经对银行的客户获取、支付、征信、风险、理财等核心领域产生了极大的冲击。

  移动网络技术的蓬勃发展推动着金融服务模式的飞速创新,外部环境的变化和内在需求促使我们不断思考银行业务系统所面临的问题。对于常常会出现的一些“秒杀”类业务,需要和常规需求之间寻求平衡,解决应用系统因需而变的弹性能力。随着5G时代的到来,移动智能终端成为金融业务流量的大多数来自,金融业务模式要不停地改进革新,并把金融业务尽快推向移动终端。同时要把银行业务通过服务API的形式开放出来,嵌入到广大中小金融机构、企业、商户的金融业务场景中,紧密耦合场景生态伙伴,建立开放、合作、共赢的生态圈。

  在银行数字化时代,技术是经营管理的底层支柱,金融科技成为了银行的基石,银行业务形态在某一些程度上受制于当前的金融科学技术水平,同时金融业务创新也对金融科技提出了更高、更多的要求。

  2.银行业对金融科技的要求。金融科技需要为应用系统提供全生命周期的支撑,需要能够迅速实现和部署应用系统,需要使开发、运维人员不必关心复杂的技术细节,轻松运维、监控和管理应用系统,以此来降低业务实施难度。

  金融行业需要金融科技提供从IT系统架构转变发展方式与经济转型,到数字化产品运营、风险管理、客户经营、投资交易,再到与外部场景生态融合等在内的全方位的数字化能力。

  3.中间件对金融科技的作用。按照IDC(Internet Data Center)的定义,中间件是位于操作系统之上、应用之下,是一种独立的系统软件服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,管理计算资源和网络通信。

  银行业使用中间件的历史由来已久,从最早的字符终端C/S架构,到单体B/S应用架构,以及现在主流的分布式云原生架构。每一次技术架构的变更,都对应用系统带来了稳定性和效率的挑战,对中间件技术也提出了更高的要求。我们正真看到不仅中间件厂商们在产品方面不断推陈出新,开源社区更是涌现了大量优质的开源中间件产品,它们在功能和性能上与商用中间件相当,而在灵活性、成本和定制化上展现了较强的优势。慢慢的变多的同业机构开始慢慢地引入成熟的开源中间件产品,打破了商用中间件的垄断地位。这可以简单总结为以下三个阶段。

  1.单体应用架构阶段。数据大集中将银行分散在各个分行和分支机构的系统与数据来进行上收和整合,形成了一个个以业务部门或业务条线为主管的独立业务系统。该阶段,IT人员和系统数量都不是很多,并且技术发展较慢,行业内用的比较多的还是C/C++和Java/J2EE,应用架构主要为单体应用架构(见图1)。

  这个阶段引入的都是商用类中间件,主要使用应用服务器来完成应用运行时的内存管理、线程管理和连接池管理等;Web服务器则主要部署在DMZ区用来进行端口转发、负载均衡和反向代理功能。同时,应用系统主要满足基本业务逻辑运算和数据汇总,架构上相对来说还是比较简单,企业对中间件的要求也比较单纯、保证功能稳定即可。

  2.服务总线架构阶段。随着大集中的完成,系统规模和数量都开始稳步增长,IT技术主要矛盾已经从如何保证系统稳定运行慢慢转移到如何打通全行的业务系统,进而形成以服务注册、服务请求、服务治理为基础的服务总线 服务总线架构

  此阶段自研中间件已初具规模,关键应用部分还是以商用中间件为主。中间件厂商多年在技术领域的耕耘积累了大量的生产成功案例和实施经验,它们在产品和方案的支撑下,生产系统的稳定性有了保障。同时,这个阶段技术的发展慢慢的开始提速,传统中间件厂商按部就班的版本迭代方式已经渐渐不足以满足银行应用的发展要求,需要银行组建自己的技术团队,培养底层的技术专家,从而更好的地应用融合、及时有效解决问题。

  随着大数据、云计算、人工智能、区块链等技术爆发,金融科技被推向风口,银行在完成业务系统架构重塑后纷纷开始智慧化、分布式、敏捷精益的转型。在服务总线架构阶段的经验让我们意识到,有必要借助开源社区的力量,让外部专家造的轮子让我们飞得更快。与开源和商用中间件大而全的发展思路不同,它们更专注于某个细分领域,突出在这样的领域上以强大的性能或稳定性来处理问题。例如Nginx、Redis这样典型的高品质的产品,我们已进行了广泛实践,效果和同类的商用产品相当。在此阶段,应用架构从单体逐步演变为微服务,支撑体系也从虚拟机变为容器,而中间件的模式,也从商用和自研支撑所有,逐步过渡到开源及自研为主、商用为辅。图3是一个典型的微服务型的系统架构示例。

  开源中间件开始慢慢占据主体,带来的效果也显而易见:成本下降、开发效率提升。当然,开源软件的使用有几个前提:一是需要企业花时间精力来对开源中间件(或者说所有使用到的开源软件)进行治理和维护,避免这一些软件野蛮生长到无法控制;二是企业要成立相关的技术团队、法律合规团队来应对各种各样的开源漏洞、使用不规范、开源协议风险。

  总之,应用架构发生了这么多变化,但中间件始终占据一席之地,对金融行业来说,稳定、安全一定是第一位的,接下来才是如何花费最低的成本实现最高的综合价值。虽然商用中间件、开源中间件和自研中间件各自扮演的角色不同,优缺点也各不相同,但它们都是技术专家花费大量时间精力研发出来的产品,也都在企业业务系统建设中起到了重要作用。

  中间件不再是局限于传统的提供技术底层支持,而是在架构的各层面,提供从技术到业务、从运维到管理、从服务到监控的全方位支撑,为金融业务的快速实施、全面管理提供保障。2.轻量化、服务化。

  随着云平台有关技术的成熟,为了应对金融服务的潮汐式服务压力而提出按需使用中间件的需求,促使了中间件即服务概念的提出。并借助云平台的技术和租户管理的理念,统一管理中间件的部署和使用,从而为金融服务的快速实施和有序扩展提供了良好的基础和保障。3.可治理、智能化。

  随着中间件技术在金融服务生态中的广泛使用,对中间件的要求也将不再仅仅局限在中间件服务的提供,而是要求中间件服务具备一定的智能。例如,支持和金融机构内部服务治理体系的打通,对上游业务系统屏蔽中间件服务和下游业务支撑系统之间的区别,实现服务一体化治理。为实现这样的中间件生态体系,需要管理机构、金融机构和中间件厂商三方紧密协作,一起努力。管理机构作为金融机构和中间件厂商之间的桥梁,协调建立中间件相关的技术标准和规范,共同打造满足金融行业需求、开放的中间件产品。一是在当前金融科技要求数字化、智慧化的大趋势下,金融机构要以开放、合作和分享的理念参与到互联网的金融生态中,建立开放的技术体系和架构。二是中间件厂商要热情参加开源中间件社区的工作,相互借鉴、一起发展,在深入掌握相关技术的基础上,为金融行业使用开源中间件提供较为可靠的商业支持。三是管理机构、金融机构和中间件厂商一起建立金融行业中间件生态圈,中间件厂商需要依托金融行业的应用场景,研发功能更完善、种类更为丰富的中间件产品体系,形成业务和技术一起发展的良性环境。