基于大数据平台构建移动端APM实践


嘉宾介绍:王思宇,七牛云高级研发工程师,2015 年加入七牛,曾在客户端团队担任 iOS 负责人,先后主导过直播推流 SDK,播放器 SDK,连麦 SDK 等客户端 SDK 的设计和实现,积累了大量客户端架构设计及性能优化经验,所推出的直播及连麦 SDK 服务于包括熊猫,美拍等在内的百余家客户。后参与 APM 产品设计和研发,主要负责后端及大数据平台和数据处理相关工作,致力于将大数据平台应用于更多的业务场景,在大数据平台应用方面有丰富的实战经验。


七牛APM产品的初衷


“移动直播”可以说是去年最为火爆的一个关键词,200多家直播平台,3.25亿的用户规模让2016年被称为“直播元年”,而七牛直播云其实是一个站在风口之前产品,七牛从2014年就开始做直播产品。对直播来说,性能一直是比较重要的问题,怎么从宏观和微观的角度去知道直播的质量怎么样,怎么去排障,这涉及到一系列的数据收集、展示和分析相关的工作。所以从直播的项目里面,我们就延伸出了直播APM的产品,后续我们开始深耕移动端性能监控领域,陆续推出了更为通用的崩溃拦截、HTTP监控等相关的功能。


大家都知道,七牛是做云存储起家的,在这个基础架构上又做了直播和点播的富媒体、容器云、大数据平台以及AI等产品。也是因为有这么强大的基础能力,我们才能快速地构建出APM产品。


今天,我的演讲将分为三个方面:APM简介、产品整体架构介绍和 iOS 实现细节。首先是APM的介绍,APM指的是应用性能管理,它主要分为三个模块,第一个是数字化体验监控,主要是体现在监控这个方面,把一些性能做量化、采集和展示;第二个是应用程序发现跟踪和诊断,这个主要偏向服务端应用的监控;第三个是应用程序分析,这个更高级一些,主要包括模式的发现和诊断,以及机器学习和AI相关的东西,以期更加智能化地进行性能管理


说到应用程序性能监控,我们到底该监控哪些指标呢?常见的一些痛点,第一个就是我们最常见的crash,我们希望能够快速地暴露、发现、定位和修复问题,能够统计错误,最好是长时间的保存,便于我们做一个后续的聚合分类,能够把同类的问题做跟踪。第二个是首开交互响应比较慢,我们希望首开时间能量化,能够方便我们从宏观和微观两个角度对问题进行排查。第三个是网络问题,网络最复杂也是问题最多的,连接超时、网络错误、CDN等等。最后,从宏观上没有办法解决问题的话,很多时候可能是单个APP,即单个用户、特定机型、特定情况、特定场景下发生的问题,这时你让客户给你报日志是不可能的,所以需要一个机制能把特定用户的日志采集起来,方便我们做更深层次、更细节的定位。


今天我主要是结合上面的这些痛点,来讲解一下我们是怎么来做监控的,大致的总结一下需求:首先我们希望有一个实时的监控,另外的话第一层次是基于阈值的告警,再深层次是能够做一些基于异常模式发现的告警。再就是对数据归类聚合,最后是离线的分析和报告。


图1


要实现这样的功能,市面上能够选择的开源框架非常多,至少有100多种(图1只展示了一部分),从监控到存储、集群调度、批量/实时计算、数据可视化,所以到底选择什么样的开源框架去搭建我们的系统也是个很纠结的问题



  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值