喜馬拉雅自研網(wǎng)關(guān)架構(gòu)演進(jìn)過(guò)程






用戶(hù)鑒權(quán)和登陸校驗(yàn),支持接口級(jí)別配置
黑白明單,分全局和應(yīng)用,以及IP維度,參數(shù)級(jí)別
流量控制,支持自動(dòng)和手動(dòng),自動(dòng)是對(duì)超大流量自動(dòng)攔截,通過(guò)令牌桶算法實(shí)現(xiàn)
智能熔斷,在histrix的基礎(chǔ)上做了改進(jìn),支持自動(dòng)升降級(jí),我們是全部自動(dòng)的,也支持手動(dòng)配置立即熔斷,就是發(fā)現(xiàn)服務(wù)異常比例達(dá)到閥值,就自動(dòng)觸發(fā)熔斷
灰度發(fā)布,我對(duì)新啟動(dòng)的機(jī)器的流量支持類(lèi)似tcp的慢啟動(dòng)機(jī)制,給 機(jī)器一個(gè)預(yù)熱的時(shí)間窗口
統(tǒng)一降級(jí),我們對(duì)所有轉(zhuǎn)發(fā)失敗的請(qǐng)求都會(huì)找統(tǒng)一降級(jí)的邏輯,只要業(yè)務(wù)方配了降級(jí)規(guī)則,都會(huì)降級(jí),我們對(duì)降級(jí)規(guī)則是支持到參數(shù)級(jí)別的,包含請(qǐng)求頭里的值,是非常細(xì)粒度的,另外我們還會(huì)和varnish打通,支持varish的優(yōu)雅降級(jí)
流量調(diào)度,支持業(yè)務(wù)根據(jù)篩選規(guī)則,對(duì)流量篩選到對(duì)應(yīng)的機(jī)器,也支持只讓篩選的流量訪(fǎng)問(wèn)這臺(tái)機(jī)器,這在查問(wèn)題/新功能發(fā)布驗(yàn)證時(shí)非常用,可以先通過(guò)小部分流量驗(yàn)證再大面積發(fā)布上線(xiàn)
流量copy,我們支持對(duì)線(xiàn)上的原始請(qǐng)求根據(jù)規(guī)則copy一份,寫(xiě)入到mq或者其他的upstream,來(lái)做線(xiàn)上跨機(jī)房驗(yàn)證和壓力測(cè)試
請(qǐng)求日志采樣,我們對(duì)所有的失敗的請(qǐng)求都會(huì)采樣落盤(pán),提供業(yè)務(wù)方排查問(wèn)題支持,也支持業(yè)務(wù)方根據(jù)規(guī)則進(jìn)行個(gè)性化采樣,我們采樣了整個(gè)生命周期的數(shù)據(jù),包含請(qǐng)求和響應(yīng)相關(guān)的所有數(shù)據(jù)

Connection:close
空閑超時(shí),關(guān)閉鏈接
讀超時(shí)關(guān)閉鏈接
寫(xiě)超時(shí),關(guān)閉鏈接
Fin,Reset


協(xié)議解析超時(shí)
等待隊(duì)列超時(shí)
建鏈超時(shí)
等待鏈接超時(shí)
寫(xiě)前檢查是否超時(shí)
寫(xiě)超時(shí)
響應(yīng)超時(shí)

攻擊性請(qǐng)求,只發(fā)頭,不發(fā)/發(fā)部分body,采樣落盤(pán),還原現(xiàn)場(chǎng),并報(bào)警
Line or Head or Body過(guò)大的請(qǐng)求,采樣落盤(pán),還原現(xiàn)場(chǎng),并報(bào)警
耗時(shí)監(jiān)控,有慢請(qǐng)求,超時(shí)請(qǐng)求,以及tp99,tp999等
QPS監(jiān)控和報(bào)警
帶寬監(jiān)控和報(bào)警,支持對(duì)請(qǐng)求和響應(yīng)的行,頭,body單獨(dú)監(jiān)控。
響應(yīng)碼監(jiān)控,特別是400和404
鏈接監(jiān)控,我們對(duì)接入端的鏈接,以及和后端服務(wù)的鏈接,后端服務(wù)鏈接上待發(fā)送字節(jié)大小也都做了監(jiān)控
失敗請(qǐng)求監(jiān)控
流量抖動(dòng)報(bào)警,這是非常有必要的,流量抖動(dòng)要么是出了問(wèn)題,要么就是出問(wèn)題的前兆。




/**
* Cleans up if the user forgets to close it.
*/
protected void finalize() throws IOException {
close();
}


后臺(tái)回復(fù) 學(xué)習(xí)資料 領(lǐng)取學(xué)習(xí)視頻
如有收獲,點(diǎn)個(gè)在看,誠(chéng)摯感謝
