1. 服務(wù)降級(jí):當(dāng)客戶端請(qǐng)求服務(wù)器端的時(shí)候,防止客戶端一直等待,不會(huì)處理業(yè)務(wù)邏輯代碼,直接返回一個(gè)友好的提示給客戶端。
2. 服務(wù)熔斷:是在服務(wù)降級(jí)的基礎(chǔ)上更直接的一種保護(hù)方式,當(dāng)在一個(gè)統(tǒng)計(jì)時(shí)間范圍內(nèi)的請(qǐng)求失敗數(shù)量達(dá)到設(shè)定值(requestVolumeThreshold)或當(dāng)前的請(qǐng)求錯(cuò)誤率達(dá)到設(shè)定的錯(cuò)誤率閾值(errorThresholdPercentage)時(shí)開啟斷路,之后的請(qǐng)求直接走fallback方法,在設(shè)定時(shí)間(sleepWindowInMilliseconds)后嘗試恢復(fù)。
3. 服務(wù)隔離:就是Hystrix為隔離的服務(wù)開啟一個(gè)獨(dú)立的線程池,這樣在高并發(fā)的情況下不會(huì)影響其他服務(wù)。服務(wù)隔離有線程池和信號(hào)量?jī)煞N實(shí)現(xiàn)方式,一般使用線程池方式。