網(wǎng)關(guān)是微服務(wù)的入口纪蜒,所以有很多事情可以在網(wǎng)關(guān)做瓤漏,網(wǎng)關(guān)也是所有流量的總?cè)肟凇J亲钪匾幕A(chǔ)服務(wù)校套。目前總結(jié)一下价脾,我們的網(wǎng)關(guān)已經(jīng)實(shí)現(xiàn)的功能和還沒有實(shí)現(xiàn)的功能。
已經(jīng)實(shí)現(xiàn)的功能
- 網(wǎng)關(guān)健康檢查邏輯
- 根據(jù)版本號(hào)限制訪問接口邏輯(接口最低支持的app版本號(hào))
- 內(nèi)部接口訪問保護(hù)邏輯(接口僅僅只暴露給內(nèi)部服務(wù))
- 接口權(quán)限驗(yàn)證邏輯(接口僅僅只暴露給某些擁有身份的用戶)
- 參數(shù)完全透?jìng)鞯殉祝蛔鋈魏谓馕觯ㄡ槍?duì)第三方格式不統(tǒng)一的接口使用)
- 維護(hù)功能邏輯(針對(duì)接口開啟維護(hù)頁面)
- 解碼客戶端參數(shù)邏輯
- 唯一請(qǐng)求traceid的接收或者生成
- 修改請(qǐng)求參數(shù)邏輯
- 用戶唯一憑證解析用戶id和身份邏輯(通過用戶的ticket和確定算法侨把,得到用戶的基礎(chǔ)信息)
- 重復(fù)請(qǐng)求拒絕邏輯
- 對(duì)外路徑和對(duì)內(nèi)路徑轉(zhuǎn)換映射邏輯(外部路徑:內(nèi)部路徑 == N:1)
- 記錄用戶請(qǐng)求真實(shí)ip邏輯
- 訪問日志記錄邏輯
- 內(nèi)部接口審計(jì)記錄邏輯
- 前端跨域CORS的設(shè)置邏輯
- 灰度流量請(qǐng)求分發(fā)邏輯
- 接口性能監(jiān)控和指標(biāo)度量采集邏輯
未實(shí)現(xiàn)的功能
- 接口和服務(wù)限流邏輯
- 用戶和設(shè)備禁用邏輯
- 接口數(shù)據(jù)緩存邏輯
- SSL認(rèn)證邏輯
實(shí)現(xiàn)大體方法
- 網(wǎng)關(guān)通過注冊(cè)中心獲取微服務(wù)實(shí)例
- 微服務(wù)注冊(cè)到注冊(cè)中心犀变,并且通過定時(shí)push元數(shù)據(jù)到注冊(cè)中心
- 網(wǎng)關(guān)定時(shí)從注冊(cè)中心輪訓(xùn)的pull元數(shù)據(jù),并且記錄在內(nèi)存中
- 針對(duì)不同的請(qǐng)求秋柄,根據(jù)所配置的元數(shù)據(jù)來進(jìn)行不同的策略