最近根據視頻學習redis主從備份,哨兵機制java
遇到異步複製,若是從比主延遲超過設定的時間值數據,則主機拒絕客戶端寫入,遇到這種狀況,java客戶端應該進行的操做,視頻裏解釋爲:
1)通常來講 ,客戶端進行降級存儲,(磁盤存儲?)client接收的請求也作降級處理,進行請求限流;
2)或者經過kafa(消息隊列)臨時存儲,每隔必定時間從隊列裏面取出來,嘗試存入master;redis
根據給出的方案思考了下,真正實行起來確實個龐大的工程,由於主拒絕寫入但是從應該仍是能夠讀的,這樣致使讀寫不一致,剛剛寫入的數據在redis中不存在,並且無論降級到磁盤或者採用消息隊列,容量確定有限制,若是master一直沒法恢復,該作怎樣的容災處理;數據庫
由於本身剛剛接觸這塊,以前作的都是沒有分級緩存的項目,QPS很小,直接數據庫讀寫分離就能夠緩解壓力;
這塊感受至關複雜,分佈式下每塊又是集羣,因此將這個過程當中本身遇到的問題都記錄下來,之後有其餘新的思路再來從新編輯~緩存