访谈 | 点融网CTO孔令欣讲述2亿融资背后的技术秘籍
8月20日,P2P平台点融网完成2.07亿美元的C轮融资,这是迄今为止P2P业内金额最高的一笔融资,也是传统金融行业巨头首次直接注资互联网金融公司。恰点融网CTO孔令欣先生是EGO会员,EGO第一时间采访了孔令欣先生,请他分享点融网融资背后的技术力量。
我们和渣打之间很早就有接触,渣打对点融网做了9个月的尽职调查,把点融网里里外外、上上下下都研究得非常透。所以可以说,我们点融网算是整个互联网金融行业里做得最正规的,毕竟渣打带来的人都是像这样四大的人。
不论是渣打还是CFF(中国互联网金融科技基金)背后的民生银行和广发证券,他们都在以传统银行与金融机构的概念去寻找一些技术变革、技术突破的机会,那他们恰恰在点融网上看到了这样的机会。
点融有着Lending Club的技术基因,我们的创始人Soul Htite曾是Lending Club共同创始人和首席技术负责人,因此,回到国内后,我们就想用新一代分布式开发在云的环境下搭建一套新的金融服务体系,它的整个架构、处理方式、复杂度等,都跟传统银行单点对多点、利用大型机器建设的技术理念是很不一样的。
用最通俗的例子来说,一个超市的收银员,在原来的银行体系内,一个超市只有一个超级收银员,他动作很快,虽然这样结账会变的很容易,但他堵在门口,任何人想出去都要经过他。在现在的架构环境中,就更像现代的超市了,比方说只要排队超过3个客户在超市里一个收银台上付款,就打开另一个收银台,再添加一个收银员、一个收银台。也就是在这样的架构中,可以把复杂的问题拆分成若干简单的模块,用分布式的方法去计算,而你可以同时在这些模块上进行交易。
收钱这个动作其实很简单,但是因为从一个环节增加成多环节,后续就需要在架构外搭建若干种不一样的算法、线程去确认这个大型系统的顺利运行和准确性。
这些架构性的概念其实并不复杂,复杂的是,当把所有模块像搭积木一样搭建在一起的时候,你需要有一个大局观,去考虑怎样才能把所有东西更好地融合在一起,在大量并发交易下,安全可靠无误的处理所有客户的请求。
分布式系统,其实就是怎样用新的虚拟化技术,在我们缺一个收银员(一个机器人)的时候,瞬间让这个收银员(机器人)生出来,并用容量的方法把它配置好,让他去扮演相应的角色,并通过一定的逻辑,让它跟原来的机器人们有非常好的配合。
这样的系统架构最大的特点就是严谨而且逻辑性非常强,系统中的每个线程之间都会形成一个逻辑网,这个逻辑网是越搭越庞大、越搭越复杂的,同时会让系统的承载能力越来越强,出现任何问题的时候,都能自动唤醒对应的技术去处理问题。新一代的金融系统是需要搭建在类似的云计算上的。
我们的架构都是搭建在WORM系统上,Write Once Read Many,写一次读多次的系统。
最好的好处在于,首先,作为一个金融系统,如果所有账只写一次,重来不复写,就代表你是没有办法回去把一些东西抹掉的,那出错率就会变少、安全性也会变高。
比方说遇到黑客想更改你的数据,但这样的系统架构并不支持这种改动,它只支持加的操作. 当黑客想把账户里原本的5块钱加成500万的时候,系统里会有若干其他线程,你可以把它想象成小机器人,它们在时时刻刻计算与审核所有金融交易的逻辑性,就会发现不符合逻辑,就能发现问题,进行后续的查看、追踪,锁定,封锁等操作。
其次,这样的系统中,所有的数据都会有记录,点融网从开始第一天到现在所有的记录都可以全部找出来的也可以时时备份,这让合规性变得很容易,在四大的审核员审核我们的时候,就可以直接看我们系统里的交易数据,而且是没可能做假的。
另外,在这样的系统中,想要改变账户数据,必须在毫秒之内触发若干线程并形成逻辑,但是每一个线程、机器人的把控又在不一样的团队、不一样的权限底下,这就使得内部员工改动数据的可能降低为0,整个系统变得更安全。
如今,点融网已经获得了国家安全第三级别的认证资质,也是上海的唯一一家。
WORM系统最大的复杂性在于,它的核心交易、包括算法在内的所有东西都是通过数据库写的,而不是在内存里进行。
这样做的好处在于,写在内存里的话,宕机的时候,里面的交易、数据等很容易丢掉,即使最后能恢复过来,也会丢失客户的信任,毕竟金融平台的交易都是真金白银,用户对错误的容忍度会更低。
通过数据库的话,每个线程不光会写下结果,连公式也会写下来,即使服务器宕机了,也能瞬间在另一个时时备份的地方把这些数据拉起来,用户可能只是感到稍微卡了一下,体验是比较无缝的,而这对金融平台是非常重要的。
但问题在于,这样做,系统的速度会比写在内存里慢很多,尤其是在大量用户时时刻刻交易、大量数据产生的情况下。这其实就是分布式系统最复杂的地方,怎样把所有东西以最合理的方式拆分,拆分之后又以什么样的逻辑把它们最优组合,点融网在建立一开始的时候就花了很多时间、很大功夫在建设与优化这套架构、系统上。
我的建议是,设计大型架构迭代性的时候把困难的问题拆分成若干更小更容易解决的问题,不要一开始就完整的把所有的东西都架构完善,因为所有的好的架构都是根据业务和环境的需求逐步演化出来的,而不是一次性设计出来的。需要把所有的模块合理拆分,就像技术中的松耦合的概念,通过数据的对接沟通,把各个模块集合。我们可以把松耦合想成乐高,有若干种乐高的模块,我们要做的就是把它们搭建我们想要的东西,而乐高和乐高之间的节点就是数据,通过数据去沟通。
从创立到现在,点融网一直在更新我们底层的模块,初期一些不到位的模块,重做的时候就可以往更完美的方向做,一步一步来,迭代式开发。所以我们的发布节奏非常快,起码是一周一次,甚至于核心金融之外的一些支持性模块,有时能做到一天多更新,非常灵活。
产品刚刚上线的时候,任何一个功能都只能算是50%的完成度,需要在上线后,得到用户反馈后,才能敏捷地更新、迭代。但又不能完全盲目的跟着声音响的用户意见或市场的风吹草动而变动,需要技术负责人对业务有非常深的理解和敏锐度以及战略眼光,看到3个月、6个月或更长时间后的业务方向,结合在一起后随时调整产品更新方向。
做在线服务就好比在开一架不能落地的飞机,但又时时刻刻有东西要更新,就需要在飞行的过程中去执行,关键就在于怎么让用户无缝体验,让用户感受不到背后的变动。在保证大家安全的情况下,持续飞的更高更远。
很多其他P2P平台大部分采用的都是类电商性系统,虽然也有完善交易系统以及成熟的高并发解决方案,但这不算是一套真正的金融系统,因为真正的世界顶级银行级别的金融系统底下是有电子钱包,用户交易体系,结算清算等底层功能的。而能写好这样技术的团队,在中国其实不是那么多。即使很大的一些P2P平台都是依赖第三方支付系统,这就是点融网和其他竞争对手最大的区别,我们有自己的核心交易系统,包括电子钱包、对账等一系列核心功能,而且还能飞速的支持庞大的并发交易量。这个能够处理大型交易量的金融系统是我们的技术核心,也是为什么我们团团赚能够成功实现的技术基础。
做互联网金融最大的挑战其实是怎样把金融理念搭载在新一代的技术体系上,需要从业人员跨界的深入理解互联网和金融的理念,但初期做互联网金融的大部分人都是互联网出身,大家对电商的架构很熟悉,但对底下的金融逻辑并不了解,所以走这条路的时候必定会踩很多坑,而那些从金融出来的从业人员恰恰又对新一代的互联网云技术架构理解有限。
这也是点融的优势,Soul之前就一直在Oracle做Oracle Finance,用数据库做金融,后来他创业做Lending Club,P2P这条路他已经走过,该踩的坑也都已经踩过。另外,我05年就开始做私有云,08年微软派我回国做公有云,到现在有10年的时间,也把该踩的坑都踩了。我们都把之前工作、创业中总结出的经验带到了点融网,这会让我们少走很多弯路。在这个过程中,我们遇到了很多卓越的技术精英和伙伴,而点融今天能够走到这一步也是建立在大家的血汗努力之上。