緩存熱點致使系統不可用解決方案
對於瞬間大量的相同數據的請求涌入,可能致使該數據通過hash策略以後對應的應用層nginx被壓垮,若是請求繼續就會影響至其餘的nginx,最終致使全部nginx出現異常整個系統變得不可用。
基於nginx+lua+storm的熱點緩存的流量分發策略自動降級來解決上述問題的出現,能夠設定訪問次數大於後95%平均值n倍的數據爲熱點,在storm中直接發送http請求到流量分發的nginx上去,使其存入本地緩存,而後storm還會將熱點對應的完整緩存數據沒發送到全部的應用nginx服務器上去,並直接存放到本地緩存。對於流量分發nginx,訪問對應的數據,若是發現是熱點標識就當即作流量分發策略的降級,對同一個數據的訪問從hash到一臺應用層nginx降級成爲分發至全部的應用層nginx。storm須要保存上一次識別出來的熱點List,並同當前計算出來的熱點list作對比,若是已經不是熱點數據,則發送對應的http請求至流量分發nginx中來取消對應數據的熱點標識 .nginx