大数跨境
0
0

深度解析某头部金融科技公司的技术架构演化路径

深度解析某头部金融科技公司的技术架构演化路径 天冕科技
2019-12-03
2
导读:该金融科技平台的个人金融业务注册用户从0到4000万,支撑用户指数级增长的背后是与之相适应技术架构,期间技术架构经历了3次比较大的重构升级

2014年至今,在移动设备及网络高速发展助推下,随着智能手机的日益普及和手机操作系统生态的完善,移动互联网掀起浪潮站上风口,开始高速全面发展,在深度和广度上渗透到生活中的衣食住行方方面面。


金融行业在这个风口中也产生了极大变化。手机摄像头性能提升,人脸识别技术、大数据技术及信用风控模型的应用等等,将大量线下业务搬到了线上,带来金融业务井喷式的发展,技术在这个过程中起了至关重要的作用。以某金融科技平台的个人金融业务为例,业务条线自成立到现在,注册用户从0到4000万,支撑用户指数级增长的背后是与之相适应技术架构,期间技术架构经历了3次比较大的重构升级,后续根据业务发展情况还会继续升级优化技术架构,下面简要介绍其技术架构在几次里程碑升级背后的演进路径。


三次架构调整


每次技术架构的升级都伴随着业务的推进和压力,随着用户的快速增长,交付效率、高并发、稳定性等等问题都会接踵而至,业务压力驱动着技术架构的发展,在前一代系统架构上遇到的问题积累的经验,在下一代的架构升级中会规避和借鉴,来支撑业务的快速发展。技术架构的选型上尽量使用比较主流的、开源的、适合的一些解决方案。


以下是该金融科技公司每一代架构的特点。


第一代架构特点:业务比较集中单一,功能满足业务需求,快速交付上线,小步快跑赢得市场;


第二代架构特点:业务快速发展,用户高速增长,技术组织架构调整,系统升级改造,平台化初具规模,各项垂直业务子系统搭建上线;


第三代架构特点:全面转型分布式微服务架构,使用 Spring Boot + Dubbo + ZooKeeper 技术桟作为技术架构的支撑,RabbitMQ、Kafka、Elastic-Job、ElasticSearch、JWT、负载均衡、云计算、容器化、主从、容灾等技术栈完善整个架构体系。


第一代系统架构


2014年移动互联网爆发,互联网金融风起云涌,首先诸如网贷之家这种第三方网站流量突然增加,紧接着是媒体报道高光跟进,再后来就是各种互金平台获得数亿美元投资的报道越来越多,很多公司(集团)也就趁着这股热潮蜂拥而至,摩拳擦掌以求分一杯羹。


第一代系统最核心诉求是抢时间占领市场,公司决策用最短的时间保证系统上线,技术架构决定采用前端 H5 + APP(iOS/Android) + 后端业务系统(Ruby 语言开发)这种模式。数据库采用 PostgreSQL,做了最基本的主从,从库仅同步备份;使用 Nginx 做反向代理,Apache 项目部署,以下是第一代系统的技术架构图:
第一代系统的总结:


优点:开发周期短,快速交付抢占市场;

缺点:业务过于集中,仓促上线,后期问题较多。


第二代系统架构


第二代技术架构升级的背景是随着公司业务量的快速发展,注册用户的爆发式增长,技术组织架构不断调整,各业务部门需求不断增加,初期所欠的大量技术债务副作用频发,系统稳定性极差,期间投入大量人力参与救火。为此技术部门经评估开始对第一代 Ruby 系统用 Java 语言做了业务重构,同时配合公司技术组织架构的调整,对几块大业务系统进行拆分解耦,各子系统及人员各司其职、分工明确。


随着后端数据库压力不断增大,对核心业务系统做了读写分离,写数据操作走主库,查询操作走从库;对查询频次比较高的操作,启动 Redis 做缓存;使用 RabbitMQ 作为跨部门之间数据交互中间件;第二代技术架构支撑了业务有史以来发展最快的一个阶段。


第二代系统架构图:
第二代总结:


优点:技术组织架构调整,各部门业务系统上线并独立维护,满足基本业务需求;


缺点:各部门只做了简单的业务划分,内部系统服务之间耦合度较高,维护成本高。


第三代系统架构


第二代技术架构上线后,随着业务不断快速发展,业务部门推广期间,相关系统需要承受比较大的并发压力甚至出现服务雪崩情况。技术部门继续技术调研和架构选型,首先引入 SOA 服务治理,通过服务的注册和发现解决系统之间的解耦,综合评估后,最后选型 Dubbo + ZooKeeper 这个技术组合来搭建分布式微服务架构,主要原因是技术主流并且经过了实战检验;其次在研发效率、学习成本方面 Spring Boot 更便利,技术架构全面转型拥抱微服务。


分布式微服务技术架构选型确定后,在不影响原有线上业务的基础上,进行了大刀阔斧的改造。由于历史原因部分已拆分的子系统依然共用了同一个数据库,微服务最佳实践建议独立的子系统有自己独立的库,服务间数据的交互通过接口调用来获取而不是数据库数据层面的耦合,因此实际操作中先从新开发的项目和需要改造的项目中启用新选型的技术栈,循序渐进稳步推进。


最终的系统架构图如下:
第三代总结:


优点:全面进行分布式微服务改造,满足高并发易扩展要求,系统安全稳定;


缺点:随着服务数量增加,管理复杂,部署复杂,服务器需要增多,服务通信和调用压力增大,运维工程师压力增大,人力资源增多,系统依赖增强,数据一致性,性能监控。


在技术架构发展的这条路上面没有终点,技术架构的升级是为了更好的推动业务发展,业务的发展倒逼架构的持续迭代改进,二者相辅相成,相互促进,互相成就。目前除了技术架构的演进,配套的研发模式升级、自动化运维、容器化、资源弹性伸缩、数据中心、实时监控等配套体系也在陆续完善之中,技术架构有路径无止境,路漫漫其修远兮。

往期回顾

天冕大数据|我们要对技术有足够的耐心,对风险抱有敬畏之心

天冕大数据|解决用户隐私和数据孤岛难题的利器:联邦学习

知识图谱在金融反欺诈中的最新应用场景

助贷模式的演变以及资金方的角色变化


END





【声明】内容源于网络
0
0
天冕科技
天冕科技是WeLab汇立集团旗下一站式科技服务商,致力于助力企业数字化转型,关注我们,一起探索前沿科技!
内容 181
粉丝 0
天冕科技 天冕科技是WeLab汇立集团旗下一站式科技服务商,致力于助力企业数字化转型,关注我们,一起探索前沿科技!
总阅读13
粉丝0
内容181