互联网金融持续火热,阿狸巴巴、百度、京东等巨头均进入金融行业,这些创新的金融产品在给消费者们带来惊喜的同时,也在推动着传统金融行业的变革。而互联网金融市场的竞争也日趋白热化,从一开始互联网金融就带有互联网的属性,也就是说技术将会直接影响产品以及商业模式。目前各大金融公司都在探索如何将大数据、云计算等技术与已有业务结合,期望可以在保证平台安全、稳定的同时可以提供更加精准的服务。InfoQ 此次专访了京东金融的架构师赵海峰,另外作为 ArchSummit 北京 2014 大会《互联网金融》专题的讲师,赵海峰将会站在电商平台的角度上剖析互联网金融系统架构实践。
InfoQ:据了解,从 2009 年开始您就一直负责京东交易系统的架构和研发工作,能简单介绍下京东的交易系统么?架构方面主要经历了哪些演进?
赵海峰:京东交易系统主要经历了 5 个发展阶段。但限于篇幅,我在这里只做简单概述。有兴趣可以参考京东出版的技术类书籍《京东技术解密》,我在第十五章详细的描述了后三个阶段的演化历史。
第一阶段:集中式系统,这一阶段的特点是业务简单,技术简单,以集中式系统为主。但是由于简单、集中式的系统,难以支撑订单量的成倍增长,以及日益复杂的业务需求,所以以 08 年的封闭开发为契机,京东开始技术转型。
第二阶段: worker 时代,这一阶段的特点是 worker 简单、灵活,开发快速,适应了当时业务的快速发展;但 woker 不宜维护和统一管理,可移植性差。worker 时代顶住了每年 618 订单的成倍增长,快速适应甚至推动了业务发展(例如单品类向多品类跨越、全国发货模型的实施),10 年图书促销事件,暴露了当时京东技术上的不足,但也成为京东技术升级的契机。
第三阶段:SOA 时代开始,特点是简单服务化,可移植性强,业务解耦,各系统专注于自己的功能优化和性能优化;SOA 的深度和广度不够彻底,当时的数据一致性(例如 SQLServer 复制延迟),数据库写入单点问题等是京东的几大技术顽疾。从 09 年开始,五大业务中间件逐一建立,开启京东 SOA 的先河。11 年的封闭开发,完成了交易系统的架构升级:.net 转型 Java;交易系统服务化、多点写入和跨机房容灾等等。
第四阶段:SOA 深化,这个阶段的特点是引入并扩展开源框架;对海量的服务进行治理和流程编排;通过事件触发机制, 驱动业务流程,降低数据延迟;提升系统性能等等。211 限时达项目,重构了订单生产流程,将整个生产过程从 30 分钟缩短到 10 秒以内,根除了数据复制延迟问题;SOP 合单项目,改变了交易系统、生产系统、财务系统等的交互方式,将服务事件化、流程化,可管理、可编排,为后来更复杂的订单业务提供了强大的技术支撑。
第五阶段:京东云时代,这个阶段的特点是云计算、虚拟化、大数据。云盘、JFS、UMP、统一日志等等优秀产品应运而生,并在各大系统普及;不但为业务系统提供了更强大的业务支撑,而且为技术系统的量化运营提供了依据。
InfoQ:为什么选择加入京东金融?京东金融目前是怎么样的一个规模?
赵海峰:我之所以离开京东交易平台部,加入京东金融有以下几个原因:
- 2013 年之后,京东交易系统的基础架构已经日益成熟,足以支撑未来几年的交易量和新业务的爆炸式增长;从技术上来说,已经没什么大的挑战。一个例证就是:从 08 年起,每到 618 和双十一这两个购物狂欢节的当天,研发作战指挥部就灯火通明、场面异常火爆;而到 13 年后,这样的火爆场面已经不复存在,只有零零星星的几个人在监控系统。从以前紧张火爆的现场指挥,到后来的悠然观测,确实非常自豪和满足;但也有几分落寂。
- 我非常看好互联网金融,金融在人们经济生活中处于核心的地位。一旦金融被互联网化,整个世界将为之改变。然而大的机遇必然面临大的挑战,而这正是我所期待的!目前京东金融处于蓬勃发展期,拥有基金、保险、理财、贷款、支付、众筹等各种互联网金融服务以及京东白条、京东小金库、京小贷等多个金融产品,并在不断拓展中。就像 09 年的京东电商,今天的京东金融或许还很弱小,但明天的京东金融将无比强大!
InfoQ:京东金融这块的业务更为复杂吧,能谈谈京东金融是如何保证系统的可靠性的么?
赵海峰:京东金融和京东电商的复杂维度是不同的(电商业务牵扯更广,包括信息流、资金流、物流;以及交易、支付、生产、仓储、配送、财务等各个环节的生态圈;而金融业务中资本运作的深度,是电商业务无法比拟的)。
在保证系统的可靠性上,京东金融借鉴了很多电商系统的经验:前端的 CDN、缓存、负载均衡,到应用层的分布式部署、容灾;再到数据层的读写分离、多点写入、分库分表等等。SOA 理论中的服务多层级划分、流程编排等,在金融系统中更有用武之地。将一些基础功能抽象成基础服务,进而构建出核心服务和复杂应用,就像搭积木一样。这样在迅速扩展新业务的同时,仍能保证系统的稳定性。
InfoQ:大数据决定互联网金融未来,京东金融是怎么用好现有的这些大数据的?
赵海峰:目前京东金融在各个产品线上,大量采用大数据的相关技术。例如:京东白条的营销推广、额度授信;刚刚上线的京小贷的贷前、贷中、贷后管理;金融平台的风险报警系统等等。通过数据的采集、分析、决策、实施,再到新数据的采集,如此循环往复,来分析用户行为、资金风险、信用评级等,达到最优的用户体验、最低的风险和成本,以及资本配置的最优化——而这正是金融的最终目标。
InfoQ:如何在快速迭代开发新功能时,保证系统的准确性和可靠性?
赵海峰: SOA 理论中的服务编排思想,更适合于金融系统。从复杂的业务中,抽象出基础服务组件。这些基础组件通用并且经历很多考验,非常稳定可靠,可以直接使用,不需重新开发,这样不仅缩短了开发周期,而且降低了系统风险。通过流程引擎可对这些基础组件进行流程编排,组装成更复杂的应用,就像是搭积木一样,从而达到快速迭代开发的目的,又能保障系统的准确性和可靠性。同时还可以在系统中加一个独立的角色:质量检查员。质量检查员对每个关键应用进行业务检查,一旦出现问题,系统自动做出处理。这个系统是独立的,从而避免很多金融系统风险。
活动推荐:
2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。
评论