8月30-31日20:00-21:30,一场别开生面的技术大会—— “蚂蚁金服&阿里云在线金融技术峰会”将在线举办。本次将聚焦数据库、应用架构、移动开发、机器学习等热门领域,帮助金融业技术开发者深入解析互联网应用的前沿应用与技术实践。
来自蚂蚁金服的技术专家杜伟 ,将在本次峰会中为大家带来《万人低头时代,支付宝APP无线网络性能该如何保障》的分享,下面是议题详情,供大家参考。
议题名称:《万人低头时代,支付宝APP无线网络性能该如何保障》
议题简介:移动互联网时代,终端网络接入及性能优化是任何移动产品及业务发展都绕不开的技术话题。本次演进主要向大家介绍蚂蚁近几年多业务综合发展背景下,我们在无 线网络技术领域所遇到的挑战。面对这些难题,蚂蚁无线网络技术从架构、协议、策略等方向进行了优化,并且基于网络数据运营进行了快速地试错和精细管控,整 体的网络性能达到了行业领先的水平。实践过程中,我们沉淀了mtls、mmtp、柔性策略等多项技术手段来应当复杂的移动网络场景,这些技术对于其他产品 也具有普遍的借鉴意义。
本专题主要涵盖:
(1)支付宝app在无线网络技术方面所遇到的挑战及架构应对;
(2)如何从协议、策略方面进行无线网络的性能优化,提升业务体验;
(3)蚂蚁无线网络技术的未来准备。
关于分享者:杜伟(心武),蚂蚁金服技术专家,专注无线网络技术的研究,蚂蚁无线网关通讯的主要负责人,全程见证了蚂蚁无线网络的从无到有,在无线网络通讯架构、无线网络性能优化、无线网络数据化等方面有大量的实践经验。参加过5次“双11“、两次春节红包大促,对超大流量的移动服务构建颇有心得。
2016年8月30日晚20:00,茂七将在蚂蚁金服&阿里云在线金融技术峰会上发表《OceanBase架构演进及金融系统实践》的演讲。为了帮助大家更好地了解茂七、评估本次演讲,云栖社区对茂七进行了采访。
以下是采访内容:
云栖社区:能否简单介绍一下蚂蚁无线网络技术的发展历程以及当前的技术团队现状?为什么要投入大精力去做无线网络的性能优化?
杜伟:蚂蚁现在的无线网络技术,发展源头应该追溯到2013年,当时正在进行支付宝APP整体大重构。考虑到之前移动服务的凌乱和代码的高耦合,研发了自己的移动RPC协议和API服务网关。同年底,因为移动服务已经细粒度到了上百个,而HTTP又不支持并发,我们2、3个人就开始进行了SPDY的研究。
2014年初,我们将spdy发布上线,取得了不错的提升效果,尝到甜头后的网络性能优化就开始持续开展了起来,比如HTTPDNS、安全协议精简、上行GZIP压缩,而比请求响应更高级的增量更新(SYNC)也在这一年上线了。
2015年,支付宝APP开始进行社交的尝试,这对无线网络技术提出了更高的要求。我们决定对终端网络及接入进行架构重构:放弃了原来的HTTP、SPDY协议,设计更适合移动网络的自定义协议MMTP;在不降低安全等级的基础上,研发了支持0-RTT的MTLS。去年可以说是蚂蚁无线网络技术发展最快的一年,我们进行了大量的试错和思考,从代码调优到终端网络再到业务治理,沉淀了不少有效的策略。
到了今年,国际化以及农村化是必须要面对的挑战,长尾慢速的改进是首要任务,网络数据化的运营会成为我们技术体系的重要环节。一路走来,现在的无线网络技术团队已经达到了20+的人员规模,其中有一半主要从事应用网络技术的研发和业务对接,如各业务服务网关,还有一部分从事无线基础网络技术研究和优化,如接入架构、网络通讯协议、网络数据化等方面。我们产出的无线网络基础组件已经输出到支付宝APP、聚宝、网商银行等蚂蚁多个业务线及APP。
关于“为什么要投入大精力去做无线网络的性能优化?”,首先我认为无论你今天的APP处于什么阶段,有多少用户量,无线网络的性能优化都是必要的,只是根据实际的情况考虑投入资源的大小有所不同。而对于超级APP来说,网络高性能是一个优秀APP的必要条件,越是亿级的APP,越能体会“比别人快一秒”所带来的正效应到底有多大。另一方面,给到用户最好的无线网络体验是我们一直坚持的目标。
云栖社区:相比于有线网络,无线网络有哪些不同点及挑战?而对于一般开发者来说,最需要解决的问题是什么?怎么做?
有心的APP用户往往会注意到日常使用时,常常会出现数据加载失败、图片显示不出来、页面加载失败等情况;更可能会因为速度慢,某个网络操作需要等上3-5秒而感到不悦。而这些现象背后,就明显能体现出无线网络相比与当前的有线网络在速度以及稳定性上的不足。更进一步的剖析,我们会发现,无线网络整体的挑战包括几个方面:
(1)无线网络的非实时在线特性以及复杂的网络环境,表现出“高延时”、“低带宽”、“高丢包率”、“高误码率”、“不稳定不可靠”等网络现象。
(2)碎片化,随时随地的用户使用习惯。
(3)终端受限:流量费用贵、电量有限。
我认为对于一般的研发人员来说,最需要解决的就是网络耗时高、失败率高的问题,最直接有效的方法是选择一个不错的网络协议,精简业务传输的大小和流程,做好失败的快速重试,提升移动服务的可靠性。更多更详细的点可以关注我们的交流分享。