陆金 卢峻 - 凤凰涅磐:陆金所金融平台的架构大升级

莱乐安

2017/12/18 发布于 技术 分类

陆金所金融交易平台自上线以来,业务飞速发展。由最初的单个产品,扩展到目前的很多条产品线,金融产品类型不断丰富。随之而来的就是系统和人员规模也不断扩大,系统变得越来越复杂,也越来越脆弱。系统之间的紧耦合,依赖关系的混乱,关键点的资源瓶颈等现象已严重影响到产品研发效率。所以,去年我们启动了一个“火凤凰”项目(寓意凤凰涅磐),旨在系统性地优化和升级我们的技术架构。 业务仍需飞跑,不可能停下脚步等技术完成架构升级,就相当于在高速路上换轮胎,还不能出差错,应该说是个巨大的挑战。要完成这个挑战,既需要一定的勇气,也需要细致的规划和谨慎的实施。经过一年多的努力,我们在不影响业务进度的前提下,终于成功地对陆金所的金融平台进行了一个架构大升级,在系统稳定性和内部工作效率等指标方面都取得了较为显著的提升。希望跟大家分享一下这个架构升级的“涅磐之旅”中,我们的规划和技术方案,经验与教训,以及对未来的展望。

文字内容
1. 凤凰涅磐:   陆金所金融平台的架构大升级   卢峻   陆金所平台科技中心总监  
3. 卢峻   陆金所平台科技中心总监   目前负责陆金所金融产品的开发、测试与平台架构。之前任职唯品会,担任唯品美国研究院 CTO及技术中心高级总监,主要领导唯品会在AI、VR/AR等前沿领域的探索,以及多个创新 App的研发。再之前,在美国留学、工作、生活近20年,其中在eBay硅谷总部工作多年,历任 高级/主任工程师、经理/资深经理等职,专注于eBay网站系统平台的搭建,是eBay  API框架的 奠基人之一。本人在技术上兴趣广泛,涉猎的领域较多。   教育背景:美国新墨西哥大学计算机科学和电子工程双硕士,浙江大学自动化仪器专业学士。   个人爱好:喜欢看NBA,勇士球迷;周游世界。。。。  
4. •  成长的烦恼   •  火凤凰项目   •  架构大升级方案   •  实施的挑战与规划   •  效果评估   •  未来展望  
5. 成长的烦恼       稳赢安e   私 资管   募 信托直营   财富汇-x理财   安心e   基金   平安宝   海外   汇享   保险   股票   陆金宝   信 理 财 转让   e享   Ø 由单一P2P业务到综合金融理财平台迅速扩展   900   700   500   150   40   30   20   2011年   12年   13年   14年   15年   16年   17年   Ø 技术人员规模增长近50倍  
6. 成长的烦恼   产品线之间 相互影响 数据库需要隔 离与管控 开发速度存 在瓶颈 系统紧耦合 层次不清晰 集中式发布风 险⾼高、难度⼤大 平台功能较弱 系统间依赖 关系复杂 代码质量 ⽆无系统性保障
7. •  成长的烦恼   •  火凤凰项目   •  架构大升级方案   •  实施的挑战与规划   •  效果评估   •  未来展望  
8. •  成长的烦恼   •  火凤凰项目   •  架构大升级方案   •  实施的挑战与规划   •  效果评估   •  未来展望  
9. 架构大升级   流程! 软件! 组织!
10. 架构大升级   流程! •  分层分域   •  服务治理框架   •  前端优化   •  金融特色子系统升级   软件! 组织!
11. 分层分域:系统拆分   P2P、B2C、! 保险、基⾦金、宝 宝、⼆二级市场! 信托、私募、 资管、海外! 资产、我的账户! 营 ⽤用户! 产品! 交易! ⽀支付 销! 对账! 平台中间件! 安 全! 运维、基础架构! 原来(耦合紧密)   现在(分层、分域)  
12. 分层分域:   私募! 资产! ⽤用户触达! 基⾦金! ……   P2P! 产品! ……   库存! Session! ……   Media! ……   ……   ……   分域(共71个域)   m-p2p-web! i-p2p-app! p2p-app! p2p-svc! p2p-db! 分层   接入交互层   聚合层   产品业务层   数据服务层   数据库层  
13. 分层分域:数据库拆分   ! ies! ! 原来(1个)   ……   p2p! 基⾦金! ⽤用户! 现在(10个)  
14. 服务治理框架:选型  
15. 服务治理框架:自研   Ø 借鉴Dubbo思想   Ø 参照Netflix  eureka改写注 册中心(基于高可用AP)   Ø 兼容Jersey  restful  和PRC   Ø 自定义熔断/限流/授权/鉴权   Ø 集成CAT监控   Ø 升级Netty4  
16. 前端优化:Online化   Ø  Online化   •  部分页面由Native转H5   部分   Ø  Online+Local双活   •  在线离线双活保证可用性   •  资源预加载解决online页 面首次打开性能问题  
17. 金融系统的特点   •  金融产品逻辑复杂   •  金融产品交易周期长,多异步处理   •  金融系统多定时任务批处理   •  金融系统多文件处理   •  安全风控要求高  
18. 金融特色:分布式任务调度   Ø 数据分片   Ø 分布式处理   Ø 任务编排   Ø 监控管理  
19. 架构大升级   流程! 软件! 组织! •  与软件架构对齐   •  混合模式  
20. 组织架构改造(康威定律)   原来(按技术职能划分)   现在(按业务线划分)  
21. 架构大升级   •  按域治理   •  按域发布   •  项目生命周期管理工具   •  流程、规范与达标   流程! 软件! 组织!
22. 按域治理  
23. 按域发布   按域⾃自助发布! 按域发布! 蓝绿发布! ⼤大版本发布! Now   持续发布!
24. •  成长的烦恼   •  火凤凰项目   •  架构大升级方案   •  实施的挑战与规划   •  效果评估   •  未来展望  
25. 实施的挑战与应对  
26. •  成长的烦恼   •  火凤凰项目   •  架构大升级方案   •  实施的挑战与规划   •  效果评估   •  未来展望  
27. 效果:质量,稳定性,速度,效率   单元测试覆盖率! 80%! 75%! 74%! 72%! 70%! 65%! 60%! 58%! 63%! 61%! 65%! 55%! 50%! 12⽉月! 1⽉月! 2⽉月! 3⽉月! 4⽉月! 5⽉月! 6⽉月! 76%! 80%! 7⽉月! 8⽉月! 线上问题统计! 14! 1.20%! 12! 1.05%! 0.96%! 1.00%! 10! 0.86%! 0.80%! 8! 6! 4! 2! 0.42%! 0.51%! 0.58%! 0.30%! 0.15%! 0.60%! 0.36%0.!40%! 0.20%! 总数! C端! ⽐比例! 2016年基线! 0! 0.00%! 1000! 500! 0! 业务需求数! 2016! 2017! 发版平均时效(分钟)! 按域发布前⼤大版本发布! 200! 按域发布后⼤大版本发布! 85! 域独⽴立发布! 15! 0! 50! 100! 150! 200! 250!
28. •  成长的烦恼   •  火凤凰项目   •  架构大升级方案   •  实施的挑战与规划   •  效果评估   •  未来展望  
29. 未来展望   敏捷化! •  小服务   •  容器云   •  DevOps   •  智能运维   •  智能运营   •  智能App   智能化! 平台化! •  测试平台   •  架构平台   •  大数据平台