移动端API接口优化的术和结果
最近一直在忙工作的事情,所以文章写得有些少.
有3-5篇文章都是写到一半然后被别的事情给打断了,所以,我得找个时间好好补补.
最近一直在关注移动端接口API的可用性问题,在移动时代这个做这个优化能产生相当大的优化结果。根据经验数据一般不做任何优化,接口的可用性在95%左右。举个例子,广告接口的可用性直接决定了收入,那么丢失的5%收入如何捡回来,对一家收入还不错的公司来说,是一件非常重大的事情。例如日营收1亿+的百度.
造成这样的主要的原因有两大块
1. app端网络状况并不好 即便是wifi条件也会收到和家用路由器的位置影响
2.大量的劫持,尤其是中国移动这个运营商,之前有将近20%-30%的劫持,尤其是大文件
3.连通性问题,部分网络运营商节点到你的IDC的链路不合理或者直接不通
当然还会有一些无论是不是移动端都会遇到的问题,如API接口的latency,包大小等.这些连做web都会遇到所以就不放到一块说了,属于通用问题.
携程在移动端开发做了一些工作,所以这里搬一下他的经验,且叫他标题的"术"吧:

总结来看:
根据具体的网络情况,不同阶段进行策略和参数优化
httpdns 不使用传统的DNS解析 当然附带还能做点节点选择的事情
减少包大小
连通性没有考虑到,大部分的公司连通性属于基础运维团队的KPI,所以作为service架构师可能会把他涵盖进去
最终的结果:

最后留一个问题
运营商为什么要劫持DNS?
下期告诉大家.
本人文章首发博客园 同时同步微信(为了让更多的移动端的朋友能看到),想在移动端关注我的请扫码或者在微信公众号里收"互联网手艺人"

移动端API接口优化的术和结果的更多相关文章
- 对飞猪H5端API接口sign签名逆向实验
免责声明 本文章所提到的技术仅用于学习用途,禁止使用本文章的任何技术进行发起网络攻击.非法利用等网络犯罪行为,一切信息禁止用于任何非法用途.若读者利用文章所提到的技术实施违法犯罪行为,其责任一概由读者 ...
- 钉钉服务端api接口使用
原文链接:http://www.cnblogs.com/xiaosongJiang/p/9991573.html 第一步:注册钉钉企业账号 打开链接:https://oa.dingtalk.com/# ...
- PHP xdebug API接口优化揪出了getimagesize这个鬼
在API优化list中,公司客户系统的服务号客服有个获取聊天消息的接口getHistory请求时间很长,就去优化了下,记下过程. 一,配置环境,追踪使用Xdebug: 1.在https://xdebu ...
- 使用PHP做移动端 api接口开发方法(适用于TP框架)
1. [代码]使用TP框架时 放在common文件夹下文件名就叫function.php ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ...
- 美秒快报 移动端API接口后台制作总结
1.创建方法时,不要用index这类的不易显示该方法功能的单词,尽量使用功能的缩写 例如: public function xssc(){} 2.尽量少用Request方法,多用input助手方法获取 ...
- 移动端API架构 统一Proxy还是各自为政?
今天首先回答上一篇的问题: 为什么APP通过运营商接入网络,连通率会那么差? 1. 域名缓存问题 运营商的localdns会缓存域名的解析结果,不向权威DNS递归查询解析 为什么要这么干呢? 1)运营 ...
- 怎样提供一个好的移动API接口服务/从零到一[开发篇]
引语:现在互联网那么热,你手里没几个APP都不好意思跟别人打招呼!但是,难道APP就是全能的神吗?答案是否定的,除了优雅的APP前端展示,其实核心还是服务器端.数据的保存.查询.消息的推送,无不是在服 ...
- Python Flask 实现移动端应用接口(API)
引言 目前,Web 应用已形成一种趋势:业务逻辑被越来越多地移到客户端,逐渐完善为一种称为富互联网应用(RIA,rich Internet application)的架构.在 RIA 中,服务器的主要 ...
- API接口服务端
<?php /** * API接口服务端 * * */ require 'mysql_class.php'; header('Content-Type:text/html;charset=utf ...
随机推荐
- AFNetworking 3.0 源码解读(九)之 AFNetworkActivityIndicatorManager
让我们的APP像艺术品一样优雅,开发工程师更像是一名匠人,不仅需要精湛的技艺,而且要有一颗匠心. 前言 AFNetworkActivityIndicatorManager 是对状态栏中网络激活那个小控 ...
- 讓TQ2440也用上設備樹(1)
作者:彭東林 郵箱:pengdonglin137@163.com QQ:405728433 開發板 TQ2440 + 64MB 內存 + 256MB Nand 軟件 Linux: Linux-4.9 ...
- Entity Framework 手动使用migration里面的up 和down方法。
add-migration -IgnoreChanges 201606100717405_201606100645298_InitialCreate 执行这一句后 ,清空使用map生成的代码,个人不太 ...
- 从c#角度看万能密码SQL注入漏洞
以前学习渗透时,虽然也玩过万能密码SQL注入漏洞登陆网站后台,但仅仅会用,并不理解其原理. 今天学习c#数据库这一块,正好学到了这方面的知识,才明白原来是怎么回事. 众所周知的万能密码SQL注入漏洞, ...
- .NET应用程序域
在.NET平台下,可执行程序并没有直接承载在Windows进程中,而非托管程序是直接承载的..NET可执行程序承载在进程的一个逻辑分区中,称之为应用程序域(AppDomain).一个进程可以包含多个应 ...
- 在DevExpress程序中使用GridView直接录入数据的时候,增加列表选择的功能
在我上篇随笔<在DevExpress程序中使用Winform分页控件直接录入数据并保存>中介绍了在GridView以及在其封装的分页控件上做数据的直接录入的处理,介绍情况下数据的保存和校验 ...
- java中易错点(一)
由于replaceAll方法的第一个参数是一个正则表达式,而"."在正则表达式中表示任何字符,所以会把前面字符串的所有字符都替换成"/".如果想替换的只是&qu ...
- 微软开源代码编辑器monaco-editor
官网上给出:”The Monaco Editor is the code editor that powers VS Code. A good page describing the code edi ...
- 微信小程序体验(1):携程酒店机票火车票
在 12 月 28 日微信公开课上,张小龙对微信小程序的形态进行了阐释,小程序有四个特定:无需安装.触手可及.用完即走.无需卸载. 由于携程这种订酒店.火车票和机票等工具性质非常强的服务,非常符合张小 ...
- BPM配置故事之案例13-触发消息通知
老李:小明! 小明:--见你就没好事,又要我干嘛? 老李:额,小事小事,最近很多部门都觉得Boss的审批速度太慢了,能不能以后给审批人一个消息提醒? 小明:--有一种不太好的预感 老李:怎么,很困难么 ...