资讯中心

作为程序员你是如何做API接口优化的?

近段时间赛合一数据”的程序员们一直在研究关于移动端接口API持续可用性问题,虽然目前“赛合一数据”开发的API接口用户使用情况反馈来说并没有任何问题,但是在移动时代做这个优化是必要的,而且能产生相当大的优化结果。

 

就经验而言,数据不做什么优化的话接口的可用性在95%左右,如广告接口的可用性决定了收入,丢失的5%收入对一家收入还不错的公司来说是一件非常重大的事情。尤其是收入基数越大,丢失的部分就越显示出重要性,比如每日收入2亿的腾讯,其5%的份额就是1千万。所以想要找回丢失的那部分,优化才是关键。分析目前API接口可用性丢失的原因,大致可归结为以下几点:

 

1. app端网络状况不好,即使wifi条件也会受到家用路由器的位置影响

2.劫持量太大,尤其是中国移动之前有将近20%-30%的劫持

3.连通性问题,部分网络运营商节点到你的IDC的链路不合理或者直接不通

 

而除了以上这几点,API接口的latency,包大小等也是移动端遇到的问题,当然这个问题就算不是移动端也会遇到,做web就会有,此处就不通讲了。在参考比较了很多产品的移动端开发之后,“赛合一数据”发现携程在移动端开发做一些工作经验挺有参考价值的如下图:

S1.1.png 

 

 

由此看来,API优化需要根据具体的网络情况不同阶段进行策略和参数优化,同时httpdns 不使用传统的DNS解析,且还要减少包大小。而关于连通性问题,其实大部分的公司service架构师可能会把涵盖进去,所以最后结果是这样的:

S1.2.png