- 防止雪崩
當一個服務無法承受大請求壓力的時候,是否會影響所依賴的其他服務?這時候可以考慮限流等措施。
- 功能降級
當某個服務出現故障時,是否有容錯手段能夠讓業務繼續跑下去,而不影響整體應用。
- 冥等
當用戶多次下同一訂單時,得到的結果永遠同一個。
- 緩存
當請求量較大時,爲避免對數據庫造成較大壓力,可以適當將一些變化較小,讀取量較大的數據放入緩存。
- 超時
超時時間對於調用服務來說非常重要,超時時間設置太長可能會把整體系統拖慢,而設置短了又會造成調用服務未完成而返回,我們在實際工作中需要根據業務場景進行分析,選擇一個恰當的超時設定值。
- 熔斷
使用熔斷器(斷路器),當請求下游的服務時發生了一定數量的失敗後,熔斷器打開,接下來的請求快速返回失敗。過一段時間後再來查看下游服務是否已恢復正常,重置熔斷器。
- 服務隔離
當所調用的服務發生故障的時候,上游服務能夠隔離故障確保業務能夠繼續運行下去
- 可伸縮
當併發量較大,原有服務集羣無法滿足現有業務場景時,可以採用擴容策略,而當併發量較小時,服務集羣可以採用縮容策略,以節省資源。