1.服務(wù)降級
? ? ? ? 概念:服務(wù)降級是指在面對高并發(fā)請求的時候,根據(jù)實際業(yè)務(wù)使用情況以及流量,對一些服務(wù)和頁面有策略的不處理或者用一種簡單的方式進行處理,從而釋放服務(wù)器資源的資源以保證核心業(yè)務(wù)的正常高效運行
? ? ? ? 問題產(chǎn)生的原因:?服務(wù)器的資源是有限的,而請求是無限的。在用戶使用即并發(fā)高峰期,會影響整體服務(wù)的性能,嚴重的話會導致宕機,以至于某些重要服務(wù)不可用。所以為了保證核心功能的可用性,就需要對某些不重要的服務(wù)進行降級處理,舍小保大。
????????應(yīng)用場景:比如說雙十一的時候,為了保證付款的服務(wù)正常運行,就無法關(guān)閉,或者對退款的服務(wù)進行降級。
2.服務(wù)熔斷
????????概念:應(yīng)對微服務(wù)雪崩效應(yīng)的一種鏈路保護機制。
? ? ? ? 原因:A->B->C ,如果某一時間段對服務(wù)C的調(diào)用響應(yīng)時間過長或者服務(wù)C不可用,隨著時間的增長,對服務(wù)C的調(diào)用也越來越多,然后服務(wù)C崩潰了,但是鏈路調(diào)用還在,對服務(wù)B的調(diào)用也在持續(xù)增多,然后服務(wù)B崩潰,隨之A也崩潰,導致雪崩效應(yīng)。服務(wù)熔斷是應(yīng)對雪崩效應(yīng)的一種微服務(wù)鏈路保護機制。
在Spring Cloud框架里,熔斷機制通過Hystrix實現(xiàn)。Hystrix會監(jiān)控微服務(wù)間調(diào)用的狀況,當失敗的調(diào)用到一定閾值,缺省是5秒內(nèi)20次調(diào)用失敗,就會啟動熔斷機制。
-應(yīng)用場景:微服務(wù)架構(gòu)中,多個微服務(wù)相互調(diào)用出使用
- 需要考慮問題:
- 如何所依賴的服務(wù)對象不穩(wěn)定
- 失敗之后如何快速恢復依賴對象,如何探知依賴對象是否恢復
3.服務(wù)降級和服務(wù)熔斷區(qū)別
- 觸發(fā)原因不一樣,服務(wù)熔斷由鏈路上某個服務(wù)引起的,服務(wù)降級是從整體的負載考慮
- 管理目標層次不一樣,服務(wù)熔斷是一個框架層次的處理,服務(wù)降級是業(yè)務(wù)層次的處理
- 實現(xiàn)方式不一樣,服務(wù)熔斷一般是自我熔斷恢復,服務(wù)降級相當于人工控制
- 觸發(fā)原因不同 服務(wù)熔斷一般是某個服務(wù)(下游服務(wù))故障引起,而服務(wù)降級一般是從整體負荷考慮;
一句話:
服務(wù)熔斷是應(yīng)對系統(tǒng)服務(wù)雪崩的一種保險措施,給出的一種特殊降級措施。而服務(wù)降級則是更加寬泛的概念,主要是對系統(tǒng)整體資源的合理分配以應(yīng)對壓力。
服務(wù)熔斷是服務(wù)降級的一種特殊情況,他是防止服務(wù)雪崩而采取的措施。系統(tǒng)發(fā)生異常或者延遲或者流量太大,都會觸發(fā)該服務(wù)的服務(wù)熔斷措施,鏈路熔斷,返回兜底方法。這是對局部的一種保險措施。
服務(wù)降級是對系統(tǒng)整體資源的合理分配。區(qū)分核心服務(wù)和非核心服務(wù)。對某個服務(wù)的訪問延遲時間、異常等情況做出預估并給出兜底方法。這是一種全局性的考量,對系統(tǒng)整體負荷進行管理。
限流:限制并發(fā)的請求訪問量,超過閾值則拒絕;
降級:服務(wù)分優(yōu)先級,犧牲非核心服務(wù)(不可用),保證核心服務(wù)穩(wěn)定;從整體負荷考慮;
熔斷:依賴的下游服務(wù)故障觸發(fā)熔斷,避免引發(fā)本系統(tǒng)崩潰;系統(tǒng)自動執(zhí)行和恢復文章來源:http://www.zghlxwxcb.cn/news/detail-851951.html
????????????????文章來源地址http://www.zghlxwxcb.cn/news/detail-851951.html
到了這里,關(guān)于服務(wù)降級和服務(wù)熔斷的區(qū)別的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!