久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

IM SDK鏈路優(yōu)化策略是什么

共計(jì) 2257 個(gè)字符,預(yù)計(jì)需要花費(fèi) 6 分鐘才能閱讀完成。

本篇文章為大家展示了 IM SDK 鏈路優(yōu)化策略是什么,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

概述

在即時(shí)通訊領(lǐng)域,要求消息到達(dá)必須保證及時(shí)性。而在當(dāng)前的移動(dòng)互聯(lián)網(wǎng)環(huán)境下,移動(dòng)端設(shè)備面臨諸多問題,尤其是因基站隨著設(shè)備的移動(dòng)而不斷切換,會(huì)導(dǎo)致信號(hào)不穩(wěn)定,從而造成通信質(zhì)量難以保證。所以,在不穩(wěn)定的網(wǎng)絡(luò)狀況下,如何實(shí)現(xiàn)網(wǎng)絡(luò)健康狀態(tài)的探測(cè),及時(shí)重連來保證鏈路的穩(wěn)定性,最終做到網(wǎng)絡(luò)抖動(dòng)情況下用戶無感知,是眾多技術(shù)人員面臨的難題。

復(fù)雜的網(wǎng)絡(luò)狀況

1、 DNS  問題

1)由于  DNS 劫持或故障造成的服務(wù)不可用;

2)由于  DNS 調(diào)度不準(zhǔn)確導(dǎo)致的性能退化。

DNS 劫持或者故障原理

2、弱網(wǎng)問題

1)在電梯、山區(qū)或者偏遠(yuǎn)地區(qū),由于某些區(qū)域基站覆蓋不到,導(dǎo)致的網(wǎng)絡(luò)偏弱;

2)由于其他信號(hào)干擾導(dǎo)致的網(wǎng)絡(luò)偏弱。

解決方法

1、鏈接策略

鏈接策略架構(gòu)

2、HTTPS

HTTPS 即  HTTP 協(xié)議添加了一層  SSL 協(xié)議加密的處理,SSL 證書則遵守  SSL 協(xié)議,由受信任的數(shù)字證書頒發(fā)機(jī)構(gòu)  CA,在驗(yàn)證服務(wù)器身份后頒發(fā),簽發(fā)后的證書作為公鑰一般放在服務(wù)器的根目錄下,便于客戶端請(qǐng)求返回給客戶端,私鑰在服務(wù)器的內(nèi)部中心保存,用于解密公鑰。

HTTPS 架構(gòu)圖

安全性:

1)使用  HTTPS 協(xié)議可認(rèn)證用戶和服務(wù)器,確保數(shù)據(jù)發(fā)送到正確的客戶機(jī)和服務(wù)器;

2) HTTPS 協(xié)議是由  SSL+HTTP 協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議,要比 HTTP 協(xié)議安全,可防止數(shù)據(jù)在傳輸過程中被竊取、改變,確保數(shù)據(jù)的完整性;

3) HTTPS 是現(xiàn)行架構(gòu)下最安全的解決方案,雖無法保證絕對(duì)安全,但它大幅增加了中間人攻擊的成本,可解決網(wǎng)絡(luò)劫持相關(guān)問題。

3、HTTPDNS

傳統(tǒng)的  DNS 解析:

DNS 完整的解析流程很長,首先從本地系統(tǒng)緩存中獲取  IP 地址,若無法獲取需到最近的  DNS 服務(wù)器獲取,仍無法獲取的情況下則需要到主域名服務(wù)器獲取,每一層都有緩存,但為了域名解析的實(shí)時(shí)性,每一層緩存都有過期時(shí)間,這種  DNS 解析機(jī)制有幾個(gè)缺點(diǎn):

1)  緩存時(shí)間設(shè)置的長,會(huì)導(dǎo)致域名更新不及時(shí),若設(shè)置的短,大量  DNS 解析請(qǐng)求則會(huì)影響請(qǐng)求速度;

2)  域名劫持,容易被中間人攻擊或被運(yùn)營商劫持。據(jù)統(tǒng)計(jì),把域名解析到第三方  IP 地址,劫持率將高達(dá) 7%;

3) DNS 解析過程不受控制,無法保證解析到最快的 IP;

4)  一次請(qǐng)求只能解析一個(gè)域名。

使用了  HTTPDNS 后:

1)  域名解析與請(qǐng)求分離,所有請(qǐng)求都直接用 IP 地址,無需  DNS 解析,App  定時(shí)請(qǐng)求  HTTPDNS 服務(wù)器更新 IP 地址即可;

2)通過簽名等方式,保證  HTTPDNS 請(qǐng)求的安全,避免被劫持;

3)DNS 解析由自己控制,可以確保返回用戶所在地就近的  IP 地址,或根據(jù)客戶端測(cè)速結(jié)果使用速度最快的  IP;

4)一次請(qǐng)求可以解析多個(gè)域名;

5)安全、精準(zhǔn)的解析結(jié)果:使用  HTTP 協(xié)議訪問服務(wù)端,獲得域名解析結(jié)果,繞過運(yùn)營商的  Local DNS,避免域名劫持;HTTPDNS 能夠直接得到客戶端的出口網(wǎng)關(guān)  IP,從而更準(zhǔn)確地判斷客戶端地區(qū)和運(yùn)營商,得到更精準(zhǔn)的解析結(jié)果。

4、復(fù)合鏈接

復(fù)合連接,即多條連接。它解決的是為了多個(gè)  IP 地址的連接選取問題,根據(jù)當(dāng)前的地域、網(wǎng)絡(luò)狀況選取速度最快、最優(yōu)的  IP 地址。

我們以域名查詢返回兩個(gè)  IP 為例介紹其過程:

1)這兩個(gè)  IP 會(huì)按照順序嘗試建立連接,如果第一個(gè)  IP 返回失敗,將立即開始連接第二個(gè)  IP;

2)如果第一個(gè)  IP 率先成功返回,那么第二個(gè)  IP 將被加入連接嘗試列表并停止所有嘗試連接;

3)如果第一個(gè)  IP 失敗,會(huì)立刻開始第二個(gè)  IP 的連接;

4)如果第一個(gè)  IP 處于  pending 狀態(tài),那么會(huì)啟動(dòng)一個(gè)定時(shí)器,默認(rèn)延遲  2s 會(huì)發(fā)起第二個(gè)  IP 的連接,如果是多個(gè)  IP 將會(huì)遞歸連接。

5、智能心跳

影響 TCP 長連接壽命的因素:

1) NAT 超時(shí)

大部分移動(dòng)無線網(wǎng)絡(luò)運(yùn)營商都在鏈路一段時(shí)間后無數(shù)據(jù)通訊的情況下,會(huì)淘汰  NAT  表中的對(duì)應(yīng)項(xiàng),造成鏈路中斷。NAT 超時(shí)是影響  TCP 連接壽命的一個(gè)重要因素 (尤其是國內(nèi)),所以客戶端自動(dòng)測(cè)算 NAT 超時(shí)時(shí)間,來動(dòng)態(tài)調(diào)整心跳間隔,是一個(gè)重要的優(yōu)化點(diǎn)。

2)DHCP 的租期(lease time)

目前測(cè)試發(fā)現(xiàn)安卓系統(tǒng)對(duì) DHCP 的處理有 Bug,DHCP 租期到了不會(huì)主動(dòng)續(xù)約并且會(huì)繼續(xù)使用過期 IP,這個(gè)問題會(huì)造成 TCP 長連接偶然斷連。

3)  網(wǎng)絡(luò)狀態(tài)變化

手機(jī)網(wǎng)絡(luò)和 WIFI 網(wǎng)絡(luò)切換、網(wǎng)絡(luò)斷開和重連等情況會(huì)造成網(wǎng)絡(luò)狀態(tài)的變化,從而導(dǎo)致長連接變?yōu)闊o效連接,需要監(jiān)聽響應(yīng)的網(wǎng)絡(luò)狀態(tài)變化事件,重新建立長連接。

心跳策略:

應(yīng)根據(jù)不同的運(yùn)營商、網(wǎng)絡(luò)狀態(tài),選擇不同的心跳策略。

1)前后臺(tái)區(qū)分處理

為了保證接收消息的及時(shí)性體驗(yàn),當(dāng)應(yīng)用處于前臺(tái)活躍狀態(tài)時(shí),使用固定心跳。應(yīng)用進(jìn)入后臺(tái)(或者前臺(tái)關(guān)屏)時(shí),先用幾次最小心跳維持長鏈接;然后進(jìn)入后臺(tái)自適應(yīng)心跳計(jì)算。前后臺(tái)區(qū)分處理目的是盡量選擇用戶不活躍的時(shí)間段,以減少心跳計(jì)算可能產(chǎn)生的消息延時(shí)收取問題以及應(yīng)用頻繁心跳導(dǎo)致的耗電問題。

2)自適應(yīng)不同的網(wǎng)絡(luò)策略

通常為了保障安全,各個(gè)辦公區(qū)域配置的網(wǎng)絡(luò)策略不盡相同。為了適應(yīng)這種情況,SDK 可智能探測(cè)出心跳的時(shí)間區(qū)間,保證鏈接的穩(wěn)定性。

3)冗余心跳

當(dāng)用戶點(diǎn)亮屏幕的時(shí)候,做一次心跳;切換到前臺(tái)時(shí),做一次心跳;聯(lián)網(wǎng)時(shí)重建信令 TCP,做一次心跳。

上述內(nèi)容就是 IM SDK 鏈路優(yōu)化策略是什么,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道。

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-08-16發(fā)表,共計(jì)2257字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒有評(píng)論)
主站蜘蛛池模板: 昂仁县| 得荣县| 绵阳市| 临朐县| 周至县| 浪卡子县| 个旧市| 桐柏县| 宽甸| 荣昌县| 中卫市| 张家港市| 木兰县| 增城市| 西乡县| 清镇市| 温泉县| 和顺县| 磐石市| 寿宁县| 阜阳市| 台前县| 乳山市| 宁乡县| 龙岩市| 根河市| 香格里拉县| 新沂市| 鄂尔多斯市| 朝阳县| 安多县| 额尔古纳市| 海原县| 建阳市| 通海县| 淳化县| 阜康市| 晋州市| 当涂县| 巴林左旗| 夏津县|