作为程序员你是如何做API接口优化的?这些分析你有什么想说的吗?

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

 

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

 

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

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

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

 

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

 

                                                

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

                                                

 

猜你喜欢

转载自blog.csdn.net/saiheyishuju/article/details/82111127