素材巴巴 > 程序开发 >

饿了么的移动APM架构实践

程序开发 2023-09-09 06:33:29

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

作者简介:胡彪,饿了么移动技术负责人,移动技术总监。负责饿了么移动架构,新技术预研与实践;移动安全,移动应用开发等等。09年投身移动互联网研发,曾先后就职于新蛋、盛大、百度、腾讯等国内外知名企业。

发布日期:2016-12-06

本文针对表达不清晰的地方进行了调整,并针对关键信息进行了标注,可以参考原文进行对比;


简单的说 APM 即应用性能管理,主要指对关键业务应用进行监测、优化,提高应用的可靠性和质量,保证用户得到良好的服务。同时通过监控不断优化应用,达到提高用户体验的同时节省成本的目的。下面是维基百科上的介绍:

Application performance management is the monitoring and management of performance and availability of software applications. APM strives to detect and diagnose complex application performance problems to maintain an expected level of service. APM is “the translation of IT metrics into business meaning.”

为什么饿了么需要研发 APM 系统?

饿了么作为一家全球领先的 O2O 移动互联网公司,目前日订单量超过 650 万,超过 98% 的订单量来自于 App 端。

APM系统的挑战

饿了么APM架构

移动端架构

移动端架构

Why protobuf?

使用 Protobuf 可以达到约 60% 的数据压缩比,达到节省流量目的的同时增加了数据 decode 复杂度,初步防止抓包轻易阅读报文行为。

自定义格式的协议均有此特点;说实话,我并不确定 protobuf 在移动端使用是否真的具有绝对优势;

Why 7Z?

鉴于 APM 收集到的数据量较大,对于系统分析有益,而对于用户来说用处不大,且会占用较多用户流量的情况;经过对比 Gzip,7Z,Snappy 等多种压缩算法,并综合多种因素考虑后,我们选择了 7Z 压缩算法。7Z+Protobuf 在多条数据的使用场景中最高可达 97.4% 的压缩比,单条数据使用场景也可达到 88.6% 的压缩比。

后端架构1.0

后端架构1.0

缺点:

从这个架构中可以看出饿了么的特点:很喜欢使用各种开源的东西搭建一个看似“牛逼”的架构,然而一些东西并没有什么卵用;

后端架构2.0

后端架构2.0

一堆轮子被造出来了,然后这篇文章却不说清楚细节,哎~


原文地址:这里

转载于:https://my.oschina.net/moooofly/blog/804696


标签:

上一篇: Vue自定义轮播图组件 下一篇:
素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。