天天看點

短視訊開發,高并發下系統服務的自我保護機制

作者:雲豹科技程式員

在某些情況下使用者的通路流量是無法預估的,如果通路流量超過了系統的可承載範圍,極有可能會導緻系統的不可用,為避免該情況,在短視訊開發時,需要做好高并發場景下的系統服務自我保護機制。

短視訊開發,高并發下系統服務的自我保護機制

一、限流

1、被動限流

在短視訊開發中我們可以通過定義門檻值和規則、自适應限流政策等方式進行系統承載能力的衡量:

(1)定義門檻值和規則:該方式需要根據人工經驗定制,是以靈活性不高,而且對請求回報的靈敏度和資源的使用率也不夠。

(2)自适應政策:該方式是一種動态限流政策,可根據系統單簽的運作情況,動态地進行限流門檻值的調整,使用起來更靈活。

2、主動限流

由于短視訊開發的絕大部分業務系統間存在着依賴關系,是以系統間的處理能力會互相受到影響,此時可将叢集限流和單機限流配合起來使用,以達到主動限流的目的。

短視訊開發,高并發下系統服務的自我保護機制

二、降級

降級是一種比較直接、暴力的自我保護機制,所謂的降級主要是指當短視訊開發的整個業務處于高峰期或活動脈沖期時,通過犧牲一些非核心功能來保證核心功能的可用性。在短視訊開發中常用的降級方案有:

1、頁面降級:主要是指從使用者操作頁面進行操作,直接限制和階段某功能的入口。

2、存儲降級:主要是指利用緩存來降級頻繁操作的存儲。

3、度降級:對于短視訊開發中的非核心資訊的讀請求禁用。

4、寫降級:直接禁止相關寫操作的服務請求。

三、熔斷

熔斷在短視訊開發中可以直接解決級聯故障和服務雪崩,是一種比較強效的自我保護機制。

在分布環境中,當下遊服務發生異常後,上遊服務中就會出現請求逾時和調用延遲的情況,而積壓的大量請求和調用會不斷消耗系統資源,直到系統資源被耗盡發生服務雪崩。

針對該情況我們就可以采取熔斷政策,直接停止對下遊的調用,并不斷檢測下遊接口是否恢複。

短視訊開發,高并發下系統服務的自我保護機制

在短視訊開發中高并發是一個老生常談的問題,為應對該問題開發者們也研究出了諸多方案,建立系統服務的自我保護機制就是其一,隻有靈活使用這些方案,才能保證系統的高可用,才能讓使用者獲得穩定、持續的高品質服務。

聲明:本文由雲豹科技原創,轉載請注明作者名及原文連結,否則視為侵權

繼續閱讀