八戒金融技术架构演进之路


【编者的话】八戒金融在近6年的发展历程中,在互联网金融行业蓬勃发展和不断创新的金融形态驱动下,经历了三轮技术架构体系的演进。本文将详细阐述其演进历程,希望给互联网金融企业,尤其是初创企业一些借鉴和启发,少走一些弯路。

构架演进之路

第一阶段:业务探索阶段,架构V0.1版 ~ V1.0版(2016年1月 ~ 2018年2月)

八戒金融于2016年1月开始组建,初始的产品技术团队均来自于猪八戒集团,2016年5月31日,旗下互联网小贷公司宜创小贷宣告成立,正式开始进军全国互联网金融业务。在这期间陆陆续续做了一些业务尝试,这一阶段有一定规模的业务线有:传统线下大贷(未使用系统),八戒服务商订单贷、八戒员工贷、航旅贷。

技术架构演进方面,又分成了三个版本:

1、架构V0.1版(2016年1月—2016年7月)

根据猪八戒集团的技术基因,第一版架构是用PHP语言开发的单体系统,用于支撑八戒订单贷业务。

2、架构V0.2版(2016年8月—2017年6月)

恰逢集团正在全面推广前后端分离、Java后端技术栈、DevOps,八戒金融研发团队也积极响应集团的号召,全面转向Java体系进行重构。

3、架构V1.0版(2017年7月—2018年2月)

由于初始研发团队并无互联网金融方面的基因以及积累,面对多条业务线并进、需求繁多、业务变化快等问题,并不能快速有效的支撑业务发展,八戒金融技术团队决定采用核心系统采购,周边系统自研,联合开发的模式,同时,按照业务要求以及新的架构模式,研发团队从原来按职能拆分向按产品拆分调整,各条业务线有完整独立的研发资源,V0.1版~V1.0版系统架构如下图所示:
1.png

第二阶段:业务拓展阶段,架构V2.0版(2018年3月~2020年2月)

这一阶段,公司层面又拓展了戒易花、医美分期等业务线。V1.0架构开始实施后,逐渐暴露出一些系统层面的问题,主要是采购的核心信贷系统是单体系统,用的技术比较老旧,系统比较臃肿,耗费资源比较多,不易扩展和维护,部分核心功能不够稳定(例如跑批卡死),随着业务线的快速扩展以及业务上量,系统逐渐成为业务发展的瓶颈。八戒金融研发团队在对核心信贷系统设计逐步熟悉和了解的基础上,决定在新业务上采用架构V2.0版自研核心信贷系统。

V2.0版架构主要是以微服务的方式,将信贷核心系统拆分为若干子系统,另外基础服务也拆分为多个子系统服务,V2.0版系统架构如下图所示:
2.png

第三阶段:业务稳定阶段,架构V3.0版(2020年3月~2021年6月)

这一阶段,医美业务得到快速的发展,已具较大的规模,同时又拓展了医美现金分期、八戒订单分期、卡挂分期等业务线。此时,V2.0架构却暴露出很多严重的问题,较大影响了业务的发展,主要在以下几个方面:
  • 核心业务服务是烟囱型架构,服务拆分是按产品及业务流程拆分(例如贷前、贷中、贷后),而不是按核心服务拆分(例如用户服务、订单服务等),易重复开发、标准化不够、易出错、耗费研发资源较多、且利用不充分。
  • 拆分粒度过细,用户一次提交有的会跨越很多个业务服务(例如进件会同时走前置、贷前、贷中、实时计算等服务),只要其中一个服务有问题系统就会报错造成阻断。
  • 微服务系统数量太多(总计有100多个系统),耗费大量的人力和系统资源,管理比较困难。
  • 服务间耦合性过强,例如有的服务依赖10多个其他服务,服务独立性差,不易维护扩展。
  • 服务边界不清晰,很多重复校验,开发基本凭感觉进行校验(例如在很多业务环节都重复校验用户、订单是否存在等)
  • 服务质量把控不严,编码规范、日志标准、异常处理等方面规范不到位,问题跟踪解决效率较低。
  • 对金融业务理解不够到位,从产品到系统层面开发出来的功能存在一定的合规、风险以及质量方面问题。另外,部分重要的业务来源、触发方式、业务关联等信息有丢失,不便于日后追溯。
  • 采购的核心风控系统,采用了小众的key-value中间件做持久化存储,部分功能云服务上使用经常出问题,且无法解决,且经过几年的发展,供应商版本迭代很快,兼容性不高,老版本基本难以维护,我司也无实施新版本的预算。
  • 支付系统设计部分环节有较大缺陷,偶尔重复代扣及银行回盘时间不准等。
  • 部分基础服务例如实名、签章、影像存储等由于项目质量把控不足,不时有服务故障、超时等问题。


总体而言,V2.0架构实施阶段,八戒金融技术团队缺乏熟悉互联网金融全生命周期的架构师,有点闭门造车,管理上也不够到位,最终效果不理想,同时,采购的核心系统也不能很好的满足业务的需要。

基于以上的困境,八戒金融团队艰难开启了V3.0架构之行,主要采取了以下措施:
  • 从顶层设计上,引入了具有深厚互联网金融经验的技术负责人以及架构师。
  • 按照业界成熟的金融系统中台架构进行重构,摒弃了V2.0架构服务拆分方式,转向为以核心中台服务进行拆分(例如用户、订单、风控、账务、催收等),严格控制服务数量和边界,并对各核心中台系统具体设计展开充分的探讨和交流。
  • 产品技术全员加强金融业务和技术体系学习,逐步熟悉和理解V3.0架构。
  • 制定详尽的V3.0架构落地路线图,从系统拆分、服务方式、接口设计、代码规范等进行了全面的拆解说明,并组织全员一起讨论交流,达成一致形成共识。
  • 对核心基础设施逐一进行全面的重构升级,包含且不限于实名、电子签、影像存储、支付、短信、权限、定时任务、监管上报、ERP推送等。
  • 对核心中台所涉及到的关键技术,例如Spring Cloud微服务体系、工作流、规则引擎、消息中间件、缓存中间件等进行了充分的培训学习。
  • 以新产品订单分期用V3.0架构进行试点,优先重构核心中台业务,再逐一切换基础设施,随后再逐步推广到其他的金融产品,后续逐步替换了采购的核心业务、风控等系统。
  • 按照V3.0架构,对团队职能进行重新划分,产品线和中台线双线并进,项目制进行管理,人力和系统资源得到了较充分的利用。


截止到目前,八戒金融技术体系已全面转为V3.0架构,相较于V2.0架构,运行稳定、耗费资源少、资源利用率高、业务响应快,有力支撑了公司各项金融业务。V3.0版系统架构如下图所示:
3.png

展望未来

随着国内互联网金融业务市场格局的快速演变,公司整体业务方向也有很大的变化,逐步由自营业务转变为自营+助贷双轮驱动,随即而来的就是系统架构层面的再一次升华。与以往不同的是,此次八戒金融技术团队已做好了准备,充满自信,微笑着迎接新的挑战。

原文链接:https://mp.weixin.qq.com/s/PJliVyds_xtXFuTArBdIvQ

0 个评论

要回复文章请先登录注册