毕鹏:现任点融网金融系统技术总监,负责点融网后端技术架构和金融系统的设计。参与了点融网核心产品团团赚产品的研发。主导点融网下一代技术架构的设计。10余年软件行业从业经验,加入点融网前,曾就职于摩根士丹利,爱立信,山大帝软软件有限责任公司联合创始人。多年关注于金融系统技术架构,对高并发,低延时的交易系统, 策略交易,kdb+/Q等技术有着深厚兴趣。
在《高可用网贷系统技术架构的演进》:
点融网是中国领先的互联网借贷平台,核心产品“团团赚”让投资极度分散,可自动复投,保障资金安全的同时实现高收益。其背后的技术架构是如何设计的和演进的呢?相对于传统的金融系统,互联网借贷平台又有哪些特点呢?本次分享介绍了点融网在构建高可用网贷系统中的一些实践。让听众深入了解构建高可用互联网借贷平台过程中遇到的挑战以及解决方案并且了解互联网金融系统架构设计的一些理念。
InfoQ:架构师在企业中是一种什么样的角色?
毕鹏:架构师在在每一个公司中都是非常重要的角色,同时也是每个公司不可多得的财富。就我们公司而言,我们是一家飞速发展的互联网借贷平台。为了提供灵活高效的服务给客户,我们需要灵活可配置的业务系统。而自成立之初,其业务呈现了爆发式的增长,系统架构也面临着快速扩容的需求。
面对上述挑战,点融网的架构团队会从不同的维度对系统的发展作出长远的规划,涉及的领域包括:业务架构和系统架构。业务架构师会与产品经理密切的合作,把业务逻辑转化成软件领域模型,通过对业务的精准理解,制定出系统建设的标准,以应对快速变化的业务需求。系统架构师会从系统的可用性,可扩展性,性能,弹性等多方面出发,对系统做出更长远的规划,为公司的快速增长作出保障。
InfoQ:资深研发工程师和架构师在能力上各有什么侧重?
毕鹏:这个差别在金融信息服务领域比较明显。总体而言,公司对资深研发工程师和架构师在技术能力、学习能力上都会有很高的要求。在知识结构上,两者会有一定的差别。资深研发工程师一般更侧重在对于某个领域的技术或者业务领域的深度认识。
例如,一个资深研发工程师会精通KDB+/q,并且在这个领域有着非常强的解决问题的能力。架构师则会更宏观的考虑问题,会对系统模块进行拆分,定义系统之间的接口。有时,架构师甚至还要充分的考虑到系统的投资回报比(ROI)等多个因素,才能对技术解决方案作出权衡。从职业发展上来讲,两种专家在点融网都可以找到自己很好的发展。
InfoQ:为什么选择到互联网金融行业?
毕鹏:我一直对金融市场有着比较浓厚的兴趣,在P2P网络借贷一开始出现的时候,我就关注到了这个行业。作为互联网行业与金融行业的结合点,互联网金融存在着很多机遇和挑战。而且,从传统的金融技术转换到互联网金融技术看上去也是一个比较自然的选择。
InfoQ:互联网金融的架构设计与其它对比更重视哪些地方?安全?
毕鹏:安全性是挑战之一。互联网金融的架构一般会采用互联网技术去实现金融级别要求的系统。金融系统一般会对系统的安全性、数据的一致性、系统的审计和数据防篡改都有着很高的要求。因为金融系统的特殊性,在系统自我发现错误的能力上,也会有一些特殊的设计。当然,与金融业务相比,互联网金融也有很多新的业务挑战。比如,互联网金融需要支持很多互联网特性的业务,互联网金融系统需要处理爆发性的流量对系统带来的瞬时压力。系统采用强一致性,还是最终一致性?是不是引入缓存?服务如何降级?这些需要在架构层面更加关注。
InfoQ:商业社会的发展一直以提高效率降低成本为要,以点融为例,互联网金融和传统金融在效率和成本上有什么演进?
毕鹏:与传统金融机构相比,P2P网络借贷是一种去中心化的借款模式,它有效地减少了中间环节,提高了金融的效率,降低了成本。从风格上来说,传统金融求稳,互联网求快。当业务和系统要融合这两个特性时,会出现很多碰撞,也会产生很多业务和技术上的创新。这些创新有效地降低了点融的运营成本,提高了业务效率。
InfoQ:作为金融和互联网的交叉点,会要求开发人员具备一些金融知识来提高对产品和业务的理解吗?对想进入互联网金融的开发者有什么建议?
毕鹏:对金融知识有一些理解,虽然会对产品设计和理解业务有一些帮助,但并不是所有的开发人员都需要具备金融知识。从我们技术团队的构成上看,既有来自金融业的开发人员,也有来自互联网行业的开发人员。因此,是否拥有金融知识的基础并不是一个大问题。我的建议很简单,如果对这个行业感兴趣,就尽早加入吧。