分布式應用雪崩效用
對雪崩效用的理解
服務c依賴服務b,服務b依賴服務a,當服務a掛掉,這樣服務b的請求一直等待,到超時為止,導致服務b的資源耗盡。
雪崩效用的原因
服務提供者不可用的原因
重試加大流量的原因
服務呼叫者不可用產生的主要原因
同步等待造成資源耗盡:
當服務呼叫者使用 「同步呼叫」 時, 會產生大量的等待執行緒占用系統資源. 一旦執行緒資源被耗盡,服務呼叫者提供的服務也將處於不可用狀態, 於是服務雪崩效應產生了.
解決方案
限流的解決方法
防止快取擊穿的方法
熔斷和降級的方法
hystrix:可以實現限流、熔斷、降級
限流:配置properties
繼承hystrixcommoned
重寫run方法中實現要限流的服務請求
熔斷:配置properties,滿足條件後就會斷絕run方法
降級:配置properties
重寫fallback方法,在裡面寫降級時要呼叫的方法
Celery分布式應用
最近有應用需要部署到不同的伺服器上執行,但是有沒有pbs這樣的排程系統,就想起來python的排程神器 celery。現在針對我的實際應用做一些記錄。因為我並不注重結果而是把命令拿到不同的機器上執行,所以訊息 和結果儲存我都選擇了 redis 只需要在一台伺服器上安裝 redis,其他伺服器均使用該...
分布式 分布式鎖
本質是利用redis的setnx 方法的特性來加鎖,setnx 即key不存在則設定key,否則直接返回false,要求在分布式系統中使用同乙個redis服務,以下提供兩種解決方案 1 直接使用redistemplate 這其實並不能完全保證高併發下的安全問題,因為可能在鎖過期之後該執行緒尚未執行完...
分布式 分布式事務
是資料庫執行過程中的乙個邏輯單位,由乙個有限的資料庫操作序列構成。事務的acid四大特性 原子性 atomicity 事務作為乙個整體被執行。一致性 consistency 從乙個一致的狀態轉換到另乙個一致的狀態。隔離性 isolation 多個事務併發執行時,併發事務之間互相影響的程度。永續性 d...