移動端API介面優化的術和結果

来源:http://www.cnblogs.com/Creator/archive/2016/05/17/5503374.html
-Advertisement-
Play Games

最近一直在忙工作的事情,所以文章寫得有些少. 有3-5篇文章都是寫到一半然後被別的事情給打斷了,所以,我得找個時間好好補補. 最近一直在關註移動端介面API的可用性問題,在移動時代這個做這個優化能產生相當大的優化結果。根據經驗數據一般不做任何優化,介面的可用性在95%左右。舉個例子,廣告介面的可用性 ...


最近一直在忙工作的事情,所以文章寫得有些少.

有3-5篇文章都是寫到一半然後被別的事情給打斷了,所以,我得找個時間好好補補.

最近一直在關註移動端介面API的可用性問題,在移動時代這個做這個優化能產生相當大的優化結果。根據經驗數據一般不做任何優化,介面的可用性在95%左右。舉個例子,廣告介面的可用性直接決定了收入,那麼丟失的5%收入如何撿回來,對一家收入還不錯的公司來說,是一件非常重大的事情。例如日營收1億+的百度.

 

造成這樣的主要的原因有兩大塊

1. app端網路狀況並不好 即便是wifi條件也會收到和家用路由器的位置影響

2.大量的劫持,尤其是中國移動這個運營商,之前有將近20%-30%的劫持,尤其是大文件

3.連通性問題,部分網路運營商節點到你的IDC的鏈路不合理或者直接不通

 

當然還會有一些無論是不是移動端都會遇到的問題,如API介面的latency,包大小等.這些連做web都會遇到所以就不放到一塊說了,屬於通用問題.

 

攜程在移動端開發做了一些工作,所以這裡搬一下他的經驗,且叫他標題的"術"吧:

總結來看:

  1. 根據具體的網路情況,不同階段進行策略和參數優化

  2. httpdns 不使用傳統的DNS解析 當然附帶還能做點節點選擇的事情

  3. 減少包大小

連通性沒有考慮到,大部分的公司連通性屬於基礎運維團隊的KPI,所以作為service架構師可能會把他涵蓋進去

 

最終的結果:

 

最後留一個問題

運營商為什麼要劫持DNS?

下期告訴大家.

 

本人文章首發博客園  同時同步微信(為了讓更多的移動端的朋友能看到),想在移動端關註我的請掃碼或者在微信公眾號里收"互聯網手藝人"

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 根目錄/: 最重要的一個目錄,與開機/修複/還原有關。該目錄所在的分區越小越好,安裝的程式也最好不要放在該分區內。 根目錄下必須存在的子目錄: 存放系統設置的文件,可執行文件最好不在放置在此目錄中。該目錄有幾個重要的子目錄: passwd: 存放系統帳號信息; shadow: 存放系統登錄密碼; g ...
  • 2個數組 : 一個是Unicode 編碼,一個是GBK編碼; 用c2b軟體轉成.bin 二進位文件放到SD卡裡; SD卡放入字型檔 .FON STM32 代碼: 代碼中SD卡字型檔和二進位路徑 //http://www.cnblogs.com/xiaobo-Linux/ QQ463431476 趙存檔 ...
  • 伺服器端配置 - 更新源並下載 客戶端配置 - 更新源並下載 伺服器端新建共用目錄和客戶端新建掛載點 伺服器端配置NFS exports 客戶端掛載共用目錄 參考URL: https://www.digitalocean.com/community/tutorials/how-to-set-up-a ...
  • 在Linux系統下安裝好Qt5,打開Qt Creator新建一個最簡單的工程,編譯卻出現"cannot find -lGL"錯誤。 在網上搜索解決方法,找到的方案基本上是安裝libgl1-mesa-dev,如通過apt-get install libgl1-mesa-dev安裝,但是在我自己的系統上 ...
  • 創建一個新的版本庫: 再建一個工作副本: 配許可權: 進入該目錄後,checkout出一個副本,用於同步上線上伺服器的路徑: 配WEB: 我這裡是開一個nginx vhost http://darkyin.blog.51cto.com/6260426/1361132 ...
  • 1、與ssh有關的兩個命令可以提供很方便的操作: sz:將選定的文件發送(send)到本地機器 rz:運行該命令會彈出一個文件選擇視窗,從本地選擇文件上傳到伺服器(receive)2、chmod [options] mode files option: -R 可遞歸遍歷子目錄3、ln 為某一個文件在 ...
  • 問題描述通過 uint16_t ConvData[8]保存DMA搬運的ADC轉換數值,但是這個數組數值的順序總是和ADC不是順序對應的。比如用7個通道的ADC,當設置ADC_InitStructure.ADC_ScanDirection = ADC_ScanDirection_Backward,是對 ...
  • 將控制項綁定到多個數據源,ListBox綁定到一個集合,其中每一項綁定到集合中對象的兩個屬性,並對綁定進行了格式化。 ... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...