1、高可用、弹性动态的金融级移动架构在蚂蚁金服的演进之路w w w.a n t g r o u p.c o m目录支付宝在移动端的架构演进与思考高可用、弹性动态的移动金融架构演进快速构建、复制稳定、高可用移动金融应用8.7亿53+200+年活跃用户日闪退率服务功能人均使用现在的支付宝独木舟战列舰航空母舰三个时代大杂烩网络存储H5支付开发测试昨天的代码好好的,今天不能跑了Android 又 65535 了!改完了在编译,我先去喝杯咖啡代码合并好几天,测试包还没发布启动太慢,用起来不流畅三个时代 架构分层 基础能力下沉 业务分治 接口与实现分离 二进制依赖 微应用模式性能与稳定 启动治理 基础性能 网
2、络优化团队协作研发效率三个方向业务层框架层组件层服务层mPaaSMobile platform as a service容器微应用框架服务框架Pipeline安全网络图片H5容器存储人脸识别支付应用中心智能投放登录UI组件余额宝账单花呗蚂蚁森林消息中心战列舰时代页面资源代码业务1页面资源代码业务2页面资源代码业务2页面资源代码业务NBundle 1Bundle 2Bundle 3Bundle N业务分治接口实现服务配置使用方服务框架注册服务初始化Service依赖调用查找服务接口与实现分离-Service微应用化页面路由入口应用配置使用方微应用管理框架MicroApp注册应用ID与实例应用ID
3、与参数页面管理性能治理虚拟机优化,如启动过程中禁用 GC利用 Background Fetch 机制实现“秒”起内存,存储,电量,流量,流畅度监控框架层面向下突破基础指标跟踪优化统一开放规范,业务方使用统一线程池、存储工具,按需加载引入 Pipeline 机制,根据业务优先级规定业务初始化时机利用 AOP 切面对常用路径进行耗时统计,找到性能瓶颈自研MMTP协议 0RTT 握手协议 Protobuf 数据格式 链路复用 Z-standard 压缩算法 自定义字典HTTP-DNS 避免 local DNS 缺陷 防劫持 容灾调度推拉结合 全量数据拉模式,增量数据推模式一体化移动网络服务更高的要求
4、:打造航母业务井喷开放平台用户反馈监管要求 业务数量与类型急速膨胀,固定集中时间点发布效率太低 代码量膨胀,安装包过大 打造生态,引入三方服务 第三方服务质量影响支付宝整体体验 用户对体验的诉求形成舆论压力 用户投诉需要得到迅速处理 用户使用环境复杂度远高于内部测试环境 监管要求时刻在变,要积极拥抱监管高可用弹性动态动态研发模式代码量膨胀,安装包太大,iOS代码段大小超限不能过审集中点发布,迭代慢用户使用的服务数量有限一套代码多端运行按需加载,节省流量存储,安装包大小可控统一开放标准快速发布,各发各的,不依赖客户端发版打磨Web体验前后端分离页面资源离线化网络请求走 Native 通道,解决白
5、屏、打开速度慢等问题差量更新计算资源差量节省带宽流量容错补偿离线资源无法访问自动 fallback 到线上推拉结合RPC+SYNC保证版本更新率Android 独立浏览器内核解决 Android 机型碎片化带来的兼容性问题深度定制组件自定义扩展标签嵌入原生组件体验更突出全面监控资源加载异常JS 执行异常页面耗时小程序支付宝能力全面开放简单易用,IDE 支持未来可平滑切换原生渲染APIComponentDSL TransformerJS BridgeView ManagerService WorkerLite ProcessPreloaderKeep AliveDSLRenderFramewor
6、kEventDispatcherWeb Renderer小程序快速发布实时监控诊断定位容灾修复线上高可用保障体系快速发布智能灰度能力,多种升级策略内部灰度,外部灰度,人群地域、机型网络等多种规则可供选择增量差分离线包更新能力减少数据冗余及设备带宽,在移动端网络条件不稳定场景下体现优势系统高性能保障RT 3ms,QPS 5w/s,触达率 99.99%监控、诊断监控指标上报策略上报方式诊断分析 闪退 流畅度 电量 流量 不可用埋点 区分流畅度,高优先级实时上报 独立轻量进程 定制