網(wǎng)絡(luò)超時(shí)問(wèn)題實(shí)踐

算法團(tuán)隊(duì)的代碼在客戶線上部署后,任務(wù)偶發(fā)會(huì)失敗,業(yè)務(wù)日志中會(huì)出現(xiàn)Timeout等網(wǎng)絡(luò)超時(shí)的關(guān)鍵字。
將解決網(wǎng)絡(luò)超時(shí)問(wèn)題的思路流程記錄如下。

場(chǎng)景

經(jīng)測(cè)試發(fā)現(xiàn),線上算法測(cè)試時(shí),會(huì)有異地不同節(jié)點(diǎn)間頻繁且大數(shù)據(jù)量的交互。

  1. 并發(fā)量
    任務(wù)失敗時(shí),qps數(shù)在個(gè)位數(shù)。

  2. 數(shù)據(jù)包大小
    可能存在幾十M甚至上百M(fèi)的數(shù)據(jù)包。

  3. 通信鏈路
    A方算法->B方客戶nginx->B方客戶入口網(wǎng)關(guān)—>B方服務(wù)網(wǎng)關(guān)->B方算法服務(wù),
    其中A方往B方傳大文件有幾率強(qiáng)制斷開(kāi)。

從上述測(cè)試中,失敗時(shí)的并發(fā)量不高,但是數(shù)據(jù)包較大且網(wǎng)絡(luò)不穩(wěn)定。

處理方案:

  1. 超時(shí)重試
    http調(diào)用在出現(xiàn)超時(shí)等異常時(shí)進(jìn)行三次重試。
  2. 數(shù)據(jù)分片
    在http調(diào)用前新增前置處理層,將超過(guò)10M的數(shù)據(jù)包進(jìn)行壓縮以及分片;在接收方進(jìn)行合并再解壓。
  3. 檢查設(shè)置鏈路超時(shí)時(shí)間和包大小
    檢查全鏈路上nginx、tomcat等服務(wù)的默認(rèn)超時(shí)時(shí)間和傳輸文件大小限制,適當(dāng)調(diào)大。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容