溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Redis集群模式有哪些及有什么優(yōu)點(diǎn)

發(fā)布時(shí)間:2022-02-25 16:22:38 來(lái)源:億速云 閱讀:189 作者:iii 欄目:開(kāi)發(fā)技術(shù)

本篇內(nèi)容主要講解“Redis集群模式有哪些及有什么優(yōu)點(diǎn)”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Redis集群模式有哪些及有什么優(yōu)點(diǎn)”吧!

單機(jī)模式

單機(jī)模式的redis非常簡(jiǎn)單,你只需要啟動(dòng)一個(gè)單一的節(jié)點(diǎn)就可以了,安裝過(guò)程不超過(guò)5分鐘。

通過(guò)redis-benchmark測(cè)試簡(jiǎn)單的命令,QPS可達(dá)到10w以上,不得不說(shuō)非常的讓人驚艷了。

單機(jī)模式的問(wèn)題也非常明顯。缺乏高可用的機(jī)制!

假如redis進(jìn)程死了,進(jìn)程就只能夠穿透到底層的數(shù)據(jù)庫(kù)中,對(duì)業(yè)務(wù)來(lái)說(shuō)非常的危險(xiǎn)。如果你把redis當(dāng)作數(shù)據(jù)存儲(chǔ)來(lái)用,情況會(huì)更加嚴(yán)重,甚至?xí)G失數(shù)據(jù)。

主從模式

所以最基本的redis部署,都會(huì)增加一個(gè)或者多個(gè)slave(現(xiàn)在叫replication)。

當(dāng)主redis發(fā)生問(wèn)題的時(shí)候,能夠選取一個(gè)slave頂上去。

非常可惜的是,這種模式和傳統(tǒng)的MySQL主從一樣,切換起來(lái)比較蛋疼,需要借助外部的工具,比如keepalived等輔助進(jìn)行切換,部署和維護(hù)難度直接飆升。

keepalived是一個(gè)基于VRRP協(xié)議來(lái)實(shí)現(xiàn)的高可用方案,通過(guò) IP 漂移實(shí)現(xiàn)高可用。從描述上就可以看出它需要網(wǎng)絡(luò)管理員的參與,和我們輕量級(jí)的redis背道而馳。

哨兵模式

哨兵模式就是使用額外的進(jìn)程來(lái)替換keepalived的功能,對(duì)redis進(jìn)程的存活性進(jìn)行判斷。在哨兵模式下,一旦主節(jié)點(diǎn)宕機(jī),從節(jié)點(diǎn)作為主節(jié)點(diǎn)的備份可以隨時(shí)頂上來(lái)。

但哨兵模式一個(gè)最大的問(wèn)題,就是哨兵的數(shù)量太多,至少需要3個(gè)節(jié)點(diǎn)。

對(duì)redis進(jìn)行仲裁的時(shí)候,需要n/2+1個(gè)節(jié)點(diǎn)投票才能確認(rèn),這也是分布式系統(tǒng)的一般做法 (quorum)。和Zookeeper類似,哨兵節(jié)點(diǎn)做成奇數(shù)個(gè),是非常合適的。

哨兵模式可以通過(guò)sentinel monitor配置同時(shí)檢測(cè)多套集群,在集群數(shù)量適中的時(shí)候,還是比較好用的。

但哨兵模式有很多隱藏的坑,比如哨兵的啟動(dòng),必須在master存活的情況下才能正常運(yùn)行;另外,如果你的redis配置文件中使用RENAME屏蔽了一些危險(xiǎn)命令時(shí),哨兵也不能夠啟動(dòng)。

客戶端在連接redis的時(shí)候,就不能再直接連接redis的實(shí)例,它需要從哨兵轉(zhuǎn)上一圈,以便獲取一些變更信息。

集群模式

集群模式可以說(shuō)是這里面最優(yōu)雅的方式了。你只需要部署多個(gè)對(duì)等的redis節(jié)點(diǎn),然后使用客戶端命令進(jìn)行組群就可以了。

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

它對(duì)節(jié)點(diǎn)的要求也是比較多的,一般是采用6個(gè)節(jié)點(diǎn),三主三從。當(dāng)節(jié)點(diǎn)超過(guò)10個(gè),它的協(xié)調(diào)性就不那么靈活了,所以單集群的存儲(chǔ)和性能上限也很快能到達(dá)。

集群模式的一些缺點(diǎn)很隱蔽。它的服務(wù)端節(jié)點(diǎn)倒是非常穩(wěn)定了,但有些命令會(huì)嚴(yán)重影響性能。比如mget,pipeline等。它們需要把請(qǐng)求分散到多個(gè)節(jié)點(diǎn)執(zhí)行、再聚合。節(jié)點(diǎn)越多,性能越低。

到此,相信大家對(duì)“Redis集群模式有哪些及有什么優(yōu)點(diǎn)”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI