學(xué)習(xí)完整課程請(qǐng)移步 互聯(lián)網(wǎng) Java 全棧工程師
頁(yè)面降級(jí)
在大促或者某些特殊情況下,某些頁(yè)面占用了一些稀缺服務(wù)資源,在緊急情況下可以對(duì)其整個(gè)降級(jí),以達(dá)到丟卒保帥;
頁(yè)面片段降級(jí)
比如商品詳情頁(yè)中的商家部分因?yàn)閿?shù)據(jù)錯(cuò)誤了,此時(shí)需要對(duì)其進(jìn)行降級(jí);
頁(yè)面異步請(qǐng)求降級(jí)
比如商品詳情頁(yè)上有推薦信息/配送至等異步加載的請(qǐng)求,如果這些信息響應(yīng)慢或者后端服務(wù)有問(wèn)題,可以進(jìn)行降級(jí);
服務(wù)功能降級(jí)
比如渲染商品詳情頁(yè)時(shí)需要調(diào)用一些不太重要的服務(wù):相關(guān)分類、熱銷榜等,而這些服務(wù)在異常情況下直接不獲取,即降級(jí)即可;
讀降級(jí)
比如多級(jí)緩存模式,如果后端服務(wù)有問(wèn)題,可以降級(jí)為只讀緩存,這種方式適用于對(duì)讀一致性要求不高的場(chǎng)景;
寫(xiě)降級(jí)
比如秒殺搶購(gòu),我們可以只進(jìn)行Cache的更新,然后異步同步扣減庫(kù)存到DB,保證最終一致性即可,此時(shí)可以將DB降級(jí)為Cache。
爬蟲(chóng)降級(jí)
在大促活動(dòng)時(shí),可以將爬蟲(chóng)流量導(dǎo)向靜態(tài)頁(yè)或者返回空數(shù)據(jù),從而保護(hù)后端稀缺資源。
自動(dòng)開(kāi)關(guān)降級(jí)
自動(dòng)降級(jí)是根據(jù)系統(tǒng)負(fù)載、資源使用情況、SLA等指標(biāo)進(jìn)行降級(jí)。
超時(shí)降級(jí)
當(dāng)訪問(wèn)的數(shù)據(jù)庫(kù)/http服務(wù)/遠(yuǎn)程調(diào)用響應(yīng)慢或者長(zhǎng)時(shí)間響應(yīng)慢,且該服務(wù)不是核心服務(wù)的話可以在超時(shí)后自動(dòng)降級(jí);比如商品詳情頁(yè)上有推薦內(nèi)容/評(píng)價(jià),但是推薦內(nèi)容/評(píng)價(jià)暫時(shí)不展示對(duì)用戶購(gòu)物流程不會(huì)產(chǎn)生很大的影響;對(duì)于這種服務(wù)是可以超時(shí)降級(jí)的。如果是調(diào)用別人的遠(yuǎn)程服務(wù),和對(duì)方定義一個(gè)服務(wù)響應(yīng)最大時(shí)間,如果超時(shí)了則自動(dòng)降級(jí)。