網絡可優化部分
緩存DNS映射關系
為什么要DNS緩存:減少DNS解析時間,防止DNS劫持、服務器動態部署。
需要注意的是映射關系的及時更新、緩存時間的設定,如果映射出錯,使用默認的DNS解析
壓縮請求數據
服務器端使用合理的數據結構,減少用戶請求延遲。若返回數據太大,會形成部分IP包緩存,從而增加了延遲
請求的安全性
合理的使用AES和RSA加密,盡量使用HTTPS,公鑰要及時刷新。可以用兩個token。
現階段蘋果公司還允許APP用HTTP協議上架App store。但是,到17年1月1號起,所有上架App store的APP需要全部是使用HTTPS。
合理的并發數目
多個請求并發數目控制,多了容易增加整體延遲,少了無法合理利用CPU性能,同時容易造成劣幣驅逐良幣的情況
關于請求的保障性
對于關鍵業務來說盡量要保證100%的成功率,最簡單的方式就是采取多次請求的方式確保成功率。
例如在比較麻煩的IM類型APP消息處理方面,需要做本地消息緩存,對于發送失敗的消息需要做網絡待請求隊列,
非關鍵業務請求制作一次,比如后臺偷跑的請求。
網絡環境的監控
比如只有在WIFI情況下才能下載,不同的環境做不同的請求策略比較重要
成功率監控措施
對網絡請求成功率做統計,存儲在本地,一定規模后發送給服務器,可以反映出服務器存在的問題
本篇僅作筆記,參考自
https://zhuanlan.zhihu.com/p/22943142
http://mrpeak.cn/blog/encrypt/