杨传超
【摘 要】近年来,我国互联网金融发展迅猛,网上银行、电子商务、网络支付等发展势不可挡。互联网金融在理念和技术方面的创新层出不穷,微服务的设计思想应运而生。本文介绍了互联网金融发展的现状特点及互联网金融产品的典型架构模式,并着重分析了微服务应用在互联网金融中的优势。
【关键词】微服务;互联网金融
1 互联网金融发展的现状特点
广义的互联网金融涵盖了传统金融业务的网络化、第三方支付、大数据金融、P2P网络借贷、众筹和第三方金融平台六种模式,而这六种模式也正是现阶段我国互联网金融发展过程中出现的模式。我国互联网金融是从2013年开始兴起的,以阿里巴巴余额宝为代表的“宝宝类”理财产品充斥金融市场为起点,被称为互联网金融元年。与此同时,P2P网络借贷平台以解决中小企业贷款为切入点迅速占领市场,众筹融资平台也随之兴起,金融机构也借助互联网转变业务发展模式。据有关资料介绍,经过三年多的发展,我国互联网金融用户规模持续扩大,其发展呈现出如下特点:
(1)互联网金融用户持续增长
中小型的投资散户是我国金融市场的重要组成部分,然而在面对一些收益较高,对资金要求也较高的金融产品是,大部分的中小型投资者都是心有余而力不足。不过随着第三方支付公司、P2P贷款公司在互联网平台的崛起,银行只能开发和完善互联网金融领域,以此来应对这些第三方支付平台所带来的危机。
(2)互联网金融品种不断完善
银行业凭借自身优势,创建的大型商务平台不仅有利于拓展银行自身业务,更有利于银行去深入了解大部分客户的需求,掌握客户的第一手资料,从而不断完善银行在互联网金融这块的全面建设,在市场上占据有利地形。其他中小型银行也在积极开发和开拓互联网金融平台。一些小微企业互联网金融交易平台被创立,贷款申请在网路提交之后,提供一份本公司相关的财务数据,银行根据这些材料进行分析,通过线上和线下操作,企业可能获得无抵押、无担保的贷款融资。
(3)互联网金融交易成本减少
随着互联网金融的逐步发展,传统金融机构对客户的吸引力越来越小,反之越来越多的客户更倾向于选择网上银行,因为网上银行交易不需要面对面,更加省去了取号排队等待的时间。在这样的交易模式之下,金融机构所需要的不再是更多的的柜台人员,而是一套成熟的、使用方便快捷的程序系统和软件设施,这样不仅提高了银行的服务质量,还大大降低了银行的交易成本,满足了客户的金融交易需求。
互联网金融对于金融的促进作用,不在于增加多少新的组织、增加多少新的产品,更大程度上在于对现有金融结构的优化,在于存量金融资产的优化。从目前我国金融机构和市场指标的规模上来说,金融似乎已经走到了全球前列,但仍然存在“短板”。互联网金融在更大程度上应该是优化现有的金融机构,提高金融的运行效率,如弥补现有金融体系缺乏零售金融机构、缺乏小微金融服务的短版,弥补直接融资发展的严重不足等,这都是在互联网金融的发展和推动中,真正值得我们思考的基础性问题。
2 互联网金融产品的典型架构模式
互联网金融模式就是金融机构利用互联网技术和信息通信技术实现资金融通、支付、投资和信息中介服务的新型金融业务模式。互联网金融具有行业竞争激烈、用户需求变更频繁、产品更新快速等特点。基于以上特点,互联网金融软件应用的开发模式的选型主要采用敏捷开发模式。在敏捷开发中,软件项目被切分成多个相互联系但也可独立运行的小项目,并分别完成。
3 微服务架构在互联网金融中的优势分析
所谓微服务,即按照业务逻辑将服务端切分成各个模块,每个模块提供相对单一的服务,即一个微服务,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。各个微服务被部署在不同的物理节点上,通过统一的网络接口整合在一起,构成整体的服务端。微服务架构的优势如下:
(1)服务复用能力提高。传统的单一服务模式中,服务端与互联网产品紧耦合,某一互联网产品对应一个专属的客户端和专属的服务端。而在微服务的设计理念中,产品与服务端解耦,服务端按照业务被划分为若干微服务以后,每个微服务不再服务于单一个产品,而是作为一个通用服务,为所有需要的此项服务的产品提供支持。同一公司旗下多个产品可以共享某些通用微服务,从而提高了服务复用的能力,避免了重复开发,节约了互联网金融新产品开发和迭代的时间。同时,在服务的维护和升级时,只更新单一微服务的代码或配置,降低了维护成本和人为出错概率。
(2)系统弹性增强。在互联网金融中,良好的用户体验是至关重要的。传统的单一服务模式设计中,服务的启动和下线是统一的,一旦服务启动时由于某种原因出现异常,比如加载依赖项或连接某数据库失败,整个服务都不可用。从用户的角度来看,此异常应该可能影响客户某一单一业务,亦或对于没有开通此业务的用户,应该不受影响。但此时所有用户的所有业务可能都无法办理,体验不好。而微服务的设计则更有弹性:在理想的设计中,一旦某一非核心微服务启动失败,其他微服务仍然可用,用户在没有使用到异常模块所提供的服务时,对这一异常完全无感知,大大增强了用户体验。
(3)微服务按需扩展。金融领域的业务需求变化和互联网技术迭代速度都很快,这要求服务端有较强的扩张能力。服务的承载能力在设计之初并不能完全符合后来业务发展的要求,随着业务量增大,服务要通过服务器集群方式进行扩展。传统的单一服务模式,扩展一般是通过简单复制多个服务器节点,这会造成服务器资源的浪费。采用微服务架构的优势在于,各个微服务的扩展数量也是按需求扩展,承载量大的微服务扩展节点多,承载量小的微服务扩展节点少,从而实现资源有效配置。
(4)技术选型兼容性高。服务端在扩张时,需要做到尽可能的灵活。传统的服务框架,各个模块间的耦合程度比较高,当新的业务需求需要新模块加入时,新模块的技术选型往往要考虑兼容老模块,因此限制了新技术的应用。如果市场上已经有成熟可靠的模块可以利用,但是技术栈不一致导致无法快速整合,则需要对这一功能重新开发,影响项目的进度。而微服务的诞生之初,一个重要设计思想就是松耦合,各个微服务之间通过开放公共接口交互,比如http協议。而单一微服务内部则是相对独立的体系,每个微服务的技术选型不必受限于其他模块的技术体系,完全可以根据自身业务特点、开发人员情况、开发速度要求等客观条件自行选择技术框架和代码风格。
(5)开发成本降低,响应速度加快。传统的单一服务模式中,业务的耦合程度较高,开发人员在开发某一新功能过程中可能会由于对整体业务的各个细节缺乏深入理解,给其他正常功能带来缺陷,造成开发过程的风险成本。由于互联网相对于其他行业从业人员变动频率较快,而开发人员又需要对抽象的金融知识有一定的掌握,因此,开发人员更迭会带来额外的学习成本。服务被划分微服务后,各个开发团队的人员不必耗费大量时间了解整个服务端架构,主要通过了解某个微服务的金融业务需求和技术体系即可参与开发,从而降低了学习成本以及改动代码带来的风险,代码审查流程的简化也相应地加快了开发响应速度。
基于上述微服务应用的优势,以敏捷开发模式为基础的微服务架构将逐渐成为业界主流,有效地运用于快速迭代的互联网金融领域中。endprint