支付宝客户端架构分析:自动化日志收集及分析

发布时间:2020-08-10 03:58:58 作者:蚂蚁金服科技
来源:ITPUB博客 阅读:336

小蚂蚁说:


《支付宝客户端架构解析》系列将从支付宝客户端的架构设计方案入手,细分拆解客户端在“ 容器化框架设计 ”、“ 网络优化 ”、“ 性能启动优化 ”、“ 自动化日志收集 ”、“ RPC 组件设计 ”、“ 移动应用监控、诊断、定位 ”等具体实现,带领大家进一步了解支付宝在客户端架构上的迭代与优化历程。


本节将结合禾兮在 OSChina 珠海站现场的分享《移动端分析方案在蚂蚁金服 mPaaS 中的实践》,介绍支付宝客户端自动化日志收集与分析的具体思路。内容将分成三个部分展开:

  • 支付宝客户端分析方案的探索;

  • MAS 移动分析框架浅析;

  • mPaaS 技术架构与助力。

支付宝客户端分析方案的探索

正如我们在《 开篇 | 模块化与解耦式开发在蚂蚁金服 mPaaS 深度实践探讨 》已经对支付宝的架构演变与开发团队规模发展做过介绍:

截止目前,在研发上面,支付宝仅  Android、iOS 客户端开发人员近千人,客户端代码行数超过了数百万行,按业务划分的工程数也已近千个,每个工程都有独立的开发 owner  负责某一个具体的模块。虽然工程师团队及工程量越发庞大,支付宝依旧能够做到日发布的频率以确保业务快速迭代,同时在业务功能日益复杂的环境,保证  App 闪退率仅 0.01%。

支付宝客户端架构分析:自动化日志收集及分析 那么,在如此大体量的用户规模和研发团队下,支付宝又是如何确保用户使用过程中的用户体验呢?我们主要从以下两个维度衡量客户端用户体验:


支付宝客户端架构分析:自动化日志收集及分析


启动应用是用户使用任何一款应用最必不可少的操作,从点击 App 图标到首页展示,整个启动过程的性能,严重影响着用户的体验。支付宝客户端作为一个超级 App,启动速度当然是我们关注的重要指标之一。支付宝对于应用启动过程中的优化,主要分为以下四个方面:

另外,用户使用过程中 App 的内存、存储、电量及流量等消耗,也是重要的衡量指标。具体的优化点如下:


支付宝客户端架构分析:自动化日志收集及分析

针对以上每个优化点,支付宝都投入了大量精力进行研究和实践,有关启动性能优化的详细内容可以查阅文档《支付宝客户端架构解析:iOS  客户端启动性能优化初探》和《支付宝客户端架构解析:Android  客户端启动速度优化之「垃圾回收」》,其他优化点请持续关注“客户端架构解析”系列文章。

基于这些对用户体验优化的内容,支付宝构建了一套完整的超级  App 线上运维体系,实时监控线上 App  发生的异常问题,针对这些问题,以最快的时间定位问题原因并找到对应的解决方案,最后通过动态热修复的技术及时修复线上问题,最终形成一个线上质量保障的闭环,保障应用运行的稳定性。


支付宝客户端架构分析:自动化日志收集及分析


MAS移动分析框架浅析

接下来,详细介绍超级 App 运维体系中的移动监控框架具体是如何实现的。

移动分析  MAS(Mobile Analysis  Service)通过对移动客户端、H5、小程序、PC等多端埋点数据的采集与分析,实现产品核心指标监控,提供页面、设备、留存、性能等基础分析,并支持自定义事件分析、漏斗分析等高阶分析,帮助企业更好地完成业务监控、用户洞察与行为分析,指导产品迭代,精细化产品运营,辅助营销决策,加速业务商业化。主要分为以下四个阶段:


支付宝客户端架构分析:自动化日志收集及分析


整个移动分析的完整链路从左往右看,就是客户端通过调用埋点  SDK 的接口进行数据埋点,埋点 SDK  对日志进行格式化后,先写入客户端本地文件,满足日志上报触发条件后,将本地日志上报到日志服务器并清理本地日志文件以减少存储大小;日志服务器接收到客户端上报的日志后同步到计算平台,经过离线计算和实时计算后,将结果进行展示,用来监控、分析、搜索、推荐等。


接下来我们将从移动分析框架的四个阶段,详细介绍数据分析的整个链路逻辑。


数据采集

根据采集数据时机、应用场景,最终用途的不同,我们把客户端采集的数据分为了以下几类。其中结合  mPaaS 模块化开发框架,报活埋点、押后台埋点、页面自动化埋点、性能埋点及 H5 埋点,由客户端 SDK  自动采集,无需开发者手动调用接口实现,开发者只需要关注自己的业务逻辑,在需要监控的逻辑除埋点统计。


支付宝客户端架构分析:自动化日志收集及分析


为了降低频繁上报日志对应用性能的影响,客户端采集到数据后,会预先保存在应用本地,通过以下三种方式同步到日志服务器:

数据计算

上报到日志服务器的日志,会同步到计算平台进行计算,后台主要包含以下几个系统:

支付宝客户端架构分析:自动化日志收集及分析

数据应用

计算平台计算出来的结果,可以为用户提供用户分析、事件分析、行为、性能等数据分析服务。


支付宝客户端架构分析:自动化日志收集及分析


数据决策

在上一步数据应用的基础上,可以与大数据、营销平台及推送平台结合,根据移动分析得到的埋点数据,通过大数据平台进行打标、圈人、用户画像及建模后,可以在营销平台上发起一次营销活动,指定活动的类型,活动算法,参与人群及活动奖品,通过消息推送、数据同步,动态发布等形式,触达到客户端,实现客户端拉新促活、活动推广及操作引导的目的。同时结合运营活动的场景需求,形成了一套完整的数字化运营体系,监控一次运营活动的参与人数、活动发放率、核销率等,观察活动的有效性。


支付宝客户端架构分析:自动化日志收集及分析


mPaaS 技术架构与助力


上面介绍的支付宝内移动端分析方案的技术积累和架构实践,已经通过  mPaaS 移动开发平台作为蚂蚁金服金融科技的一部分对外开放。mPaaS(Mobile Platform As A  Service),源于支付宝 App  的移动开发平台,为移动开发、测试、运营及运维提供云到端的一站式解决方案,能有效降低技术门槛、减少研发成本、提升开发效率,协助企业快速搭建稳定高质量的移动  App。


支付宝客户端架构分析:自动化日志收集及分析


在  mPaaS  移动开放平台上,我们将移动分析框架中的本地日志、埋点、自动化埋点、性能监控、Crash报告、诊断日志等模块,作为一个个独立的组件来进行输出。任何一个  App 都可以通过 mPaaS  插件,添加对应的组件,在当前应用中集成这些功能,只需要这样简单的操作,就可以让你的应用具有和支付宝一样强大的移动端分析监控能力。


支付宝客户端架构分析:自动化日志收集及分析


客户端集成了这些移动分析相关的组件后,用户在使用APP过程中会产生相应的日志,经过数据采集、数据上报、数据计算等处理后,计算的结果会同步到  mPaaS 移动分析的大盘上展示,包括应用的基础应用概况、性能稳定数据、流量走向等等,方便开发者实时监控 APP  的概况大盘和稳定性等,实时发现线上问题并修复。


支付宝客户端架构分析:自动化日志收集及分析

支付宝客户端架构分析:自动化日志收集及分析


目前,mPaaS   移动开发平台已经服务了众多企业,包括蚂蚁金服内部的香港支付宝、网商银行、口碑商家等,同时还有大量的外部蚂蚁生态合作伙伴,包括12306、上海地铁、广州地铁、广发银行等。秉承着「给世界带来小而美的变化」的理念,我们通过  mPaaS 帮助 12306 这样的国民级 App 重构了客户端,使得大家可以用上一个好的体验的 App 进行出行购票,用 mPaaS  这样成熟的底层框架搭建一个 12306 仅需要 2-3 个月的时间。


除了 12306 还有 支付宝香港版 广发银行手机银行 发现精彩 多个客户端,同样在短短几个月的时间内便完成了业务重构。


蚂金服ATEC城市峰会·上海


2019年1月4日, 一场金融科技的前沿探索之旅——蚂蚁金服ATEC科技大会即将起航 ,你准备好了吗?小蚂蚁为大家准备了满满了攻略福利,等你来拿!了解蚂蚁金服ATEC科技大会更多信息,记得持续关注小蚂蚁( 官微: 蚁金服科技 )~~

蚂蚁金服金融科技官网:

https://tech.antfin.com/articles/activity/atecshanghai


ATEC科技大会:

蚂蚁金服ATEC(Ant Technology Exploration Conference)科技大会是蚂蚁金服在中国举办的最大的技术盛会,旨在向遍布全球的合作伙伴与技术专业人群 分享新技术的发展趋势与落地实践, 通过对先进的前沿技术探索与讨论,为世界带来平等的机会。ATEC大会一直在路上。过去一年,蚂蚁金服ATEC科技大会走过杭州、硅谷、新加坡、伦敦 等全球金融科技中心城市,之后 将会造访国内各个金融科技中心城市, 与当地受众分享蚂蚁金服对金融科技最前沿的洞察。


支付宝客户端架构分析:自动化日志收集及分析


ATEC科技大会报名方式 & 福利:

本次大会门票采用审核制。嘉宾填写个人信息进行报名,报名后3天之内收到 报名审核成功 的短信,即为报名成功。大会报名截止日期为 2018年12月31日24时 ,额满即止。


前50位报名嘉宾 将会优先审核通过,先到先得哦~

小蚂蚁还为大家准备了本账号读者的专属福利邀请码:   SF2B3A  

还等什么,赶紧 点击下方 报名链接 阅读原文 扫描二维码 ,小蚂蚁期待你的到来~~


ATEC报名链接:

https://alipaytech.mikecrm.com/l6YPW6V

ATEC报名二维码:

支付宝客户端架构分析:自动化日志收集及分析



推荐阅读:
  1. nginx架构分析
  2. Kubernetes 下零信任安全架构分析

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

分析 客户端 支付

上一篇:Application of drum screen in sand washing plant

下一篇:Linux基础命令---zip

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》