您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關redis集群和哨兵的區別是什么,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
redis集群和哨兵有什么區別呢?
哨兵的作用就是監控Redis系統的運行狀況。它的功能包括以下兩個。
監控主數據庫和從數據庫是否正常運行。
主數據庫出現故障時自動將從數據庫轉換為主數據庫。
sentinel發現master掛了后,就會從slave中重新選舉一個master。
哨兵模式強調高可用
Sentinel 系統用于管理多個 Redis 服務器(instance), 該系統執行以下三個任務:
監控(Monitoring): 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集群和哨兵的區別是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。