您好,登錄后才能下訂單哦!
本篇內容主要講解“Redis集群模式有哪些及有什么優點”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Redis集群模式有哪些及有什么優點”吧!
單機模式的redis
非常簡單,你只需要啟動一個單一的節點就可以了,安裝過程不超過5分鐘。
通過redis-benchmark
測試簡單的命令,QPS
可達到10w
以上,不得不說非常的讓人驚艷了。
單機模式的問題也非常明顯。缺乏高可用的機制!
假如redis
進程死了,進程就只能夠穿透到底層的數據庫中,對業務來說非常的危險。如果你把redis
當作數據存儲來用,情況會更加嚴重,甚至會丟失數據。
所以最基本的redis
部署,都會增加一個或者多個slave
(現在叫replication
)。
當主redis
發生問題的時候,能夠選取一個slave
頂上去。
非常可惜的是,這種模式和傳統的MySQL
主從一樣,切換起來比較蛋疼,需要借助外部的工具,比如keepalived
等輔助進行切換,部署和維護難度直接飆升。
keepalived
是一個基于VRRP
協議來實現的高可用方案,通過 IP 漂移實現高可用。從描述上就可以看出它需要網絡管理員的參與,和我們輕量級的redis
背道而馳。
哨兵模式就是使用額外的進程來替換keepalived
的功能,對redis
進程的存活性進行判斷。在哨兵模式下,一旦主節點宕機,從節點作為主節點的備份可以隨時頂上來。
但哨兵模式一個最大的問題,就是哨兵的數量太多,至少需要3個節點。
對redis
進行仲裁的時候,需要n/2+1
個節點投票才能確認,這也是分布式系統的一般做法 (quorum)。和Zookeeper
類似,哨兵節點做成奇數個,是非常合適的。
哨兵模式可以通過sentinel monitor
配置同時檢測多套集群,在集群數量適中的時候,還是比較好用的。
但哨兵模式有很多隱藏的坑,比如哨兵的啟動,必須在master
存活的情況下才能正常運行;另外,如果你的redis
配置文件中使用RENAME
屏蔽了一些危險命令時,哨兵也不能夠啟動。
客戶端在連接redis
的時候,就不能再直接連接redis
的實例,它需要從哨兵轉上一圈,以便獲取一些變更信息。
集群模式可以說是這里面最優雅的方式了。你只需要部署多個對等的redis
節點,然后使用客戶端命令進行組群就可以了。
ip=192.169.0.23 ./bin/redis-cli --cluster create $ip:7001 $ip:7002 $ip:7003 $ip:7004 $ip:7005 $ip:7006 --cluster-replicas 1
它對節點的要求也是比較多的,一般是采用6個節點,三主三從。當節點超過10個,它的協調性就不那么靈活了,所以單集群的存儲和性能上限也很快能到達。
集群模式的一些缺點很隱蔽。它的服務端節點倒是非常穩定了,但有些命令會嚴重影響性能。比如mget
,pipeline
等。它們需要把請求分散到多個節點執行、再聚合。節點越多,性能越低。
到此,相信大家對“Redis集群模式有哪些及有什么優點”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。