當前位置:成語大全網 - 新華字典 - redis哨兵和集群區別是什麽?

redis哨兵和集群區別是什麽?

redis哨兵和集群區別是:

監控主數據庫和從數據庫是否正常運行。

主數據庫出現故障時自動將從數據庫轉換為主數據庫。sentinel發現master掛了後,就會從slave中重新選舉壹個master。哨兵模式強調高可用。

Sentinel會不斷地檢查妳的主服務器和從服務器是否運作正常。

提醒(Notification):當被監控的某個Redis服務器出現問題時,Sentinel可以通過API向管理員或者其他應用程序發送通知。

自動故障遷移(Automatic failover):當壹個主服務器不能正常工作時,Sentinel會開始壹次自動故障遷移操作。

它會將失效主服務器的其中壹個從服務器升級為新的主服務器,並讓失效主服務器的其他從服務器改為復制新的主服務器。

當客戶端試圖連接失效的主服務器時,集群也會向客戶端返回新主服務器的地址,使得集群可以使用新主服務器代替失效服務器。

客戶端中不會記錄redis的地址(某個IP),而是記錄sentinel的地址,這樣我們可以直接從sentinel獲取的redis地址。

因為sentinel會對所有的master、slave進行監控,它是知道到底誰才是真正的master的,例如我們故障轉移,這時候對於sentinel來說,master是變了的,然後通知客戶端。

而客戶端根本不用關心到底誰才是真正的master,只關心sentinel告知的master。

集群即使使用哨兵,redis每個實例也是全量存儲,每個redis存儲的內容都是完整的數據,浪費內存且有木桶效應。

為了最大化利用內存,可以采用集群,就是分布式存儲。即每臺redis存儲不同的內容,***有16384個slot。

每個redis分得壹些slot,hash_slot = crc16(key) mod 16384找到對應slot,鍵是可用鍵,如果有{}則取{}內的作為可用鍵,否則整個鍵是可用鍵。

集群至少需要3主3從,且每個實例使用不同的配置文件,主從不用配置,集群會自己選。cluster是為了解決單機Redis容量有限的問題,將數據按壹定的規則分配到多臺機器。

集群模式提高並發量。

Redis:Remote Dictionary Server ,即遠程字典服務,是壹個開源的使用ANSI?C語言編寫、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。