溫馨提示×

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

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

redis集群與redis分布式的區(qū)別是什么

發(fā)布時(shí)間:2020-06-25 12:00:17 來源:億速云 閱讀:718 作者:Leah 欄目:關(guān)系型數(shù)據(jù)庫

redis集群與redis分布式的區(qū)別是什么?可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

分布式是指將業(yè)務(wù)系統(tǒng)進(jìn)行拆分,即分布式的每一個(gè)節(jié)點(diǎn)都是實(shí)現(xiàn)不同的功能。

集群是一組協(xié)同工作的服務(wù)實(shí)體,用以提供比單一服務(wù)實(shí)體更具擴(kuò)展性與可用性的服務(wù)平臺(tái)。        

簡(jiǎn)單說,分布式是以縮短單個(gè)任務(wù)的執(zhí)行時(shí)間來提升效率的,而集群則是通過提高單位時(shí)間內(nèi)執(zhí)行的任務(wù)數(shù)來提升效率。

Redis Cluster 集群模式通常具有高可用、可擴(kuò)展性、分布式、容錯(cuò)等特性。Redis 分布式方案一般有兩種:

客戶端分區(qū)方案

客戶端就已經(jīng)決定數(shù)據(jù)會(huì)被存儲(chǔ)到哪個(gè) redis 節(jié)點(diǎn)或者從哪個(gè) redis 節(jié)點(diǎn)讀取數(shù)據(jù)。其主要思想是采用哈希算法將 Redis 數(shù)據(jù)的 key 進(jìn)行散列,通過 hash 函數(shù),特定的 key會(huì)映射到特定的 Redis 節(jié)點(diǎn)上。

客戶端分區(qū)方案的代表為 Redis Sharding,Redis Sharding 是 Redis Cluster 出來之前,業(yè)界普遍使用的 Redis多實(shí)例集群方法。Java 的 Redis 客戶端驅(qū)動(dòng)庫 Jedis,支持 Redis Sharding 功能,即 ShardedJedis 以及結(jié)合緩存池的 ShardedJedisPool。

優(yōu)點(diǎn)

不使用第三方中間件,分區(qū)邏輯可控,配置簡(jiǎn)單,節(jié)點(diǎn)之間無關(guān)聯(lián),容易線性擴(kuò)展,靈活性強(qiáng)。

缺點(diǎn)

客戶端無法動(dòng)態(tài)增刪服務(wù)節(jié)點(diǎn),客戶端需要自行維護(hù)分發(fā)邏輯,客戶端之間無連接共享,會(huì)造成連接浪費(fèi)。

代理分區(qū)方案

客戶端發(fā)送請(qǐng)求到一個(gè)代理組件,代理解析客戶端的數(shù)據(jù),并將請(qǐng)求轉(zhuǎn)發(fā)至正確的節(jié)點(diǎn),最后將結(jié)果回復(fù)給客戶端。

優(yōu)點(diǎn):簡(jiǎn)化客戶端的分布式邏輯,客戶端透明接入,切換成本低,代理的轉(zhuǎn)發(fā)和存儲(chǔ)分離。 缺點(diǎn):多了一層代理層,加重了架構(gòu)部署復(fù)雜度和性能損耗。

代理分區(qū)主流實(shí)現(xiàn)的有方案有 Twemproxy 和 Codis。

Twemproxy

Twemproxy 也叫 nutcraker,是 twitter 開源的一個(gè) redis 和 memcache 的中間代理服務(wù)器程序。Twemproxy 作為代理,可接受來自多個(gè)程序的訪問,按照路由規(guī)則,轉(zhuǎn)發(fā)給后臺(tái)的各個(gè) Redis 服務(wù)器,再原路返回。Twemproxy 存在單點(diǎn)故障問題,需要結(jié)合 Lvs 和 Keepalived 做高可用方案。

優(yōu)點(diǎn):應(yīng)用范圍廣,穩(wěn)定性較高,中間代理層高可用。 缺點(diǎn):無法平滑地水平擴(kuò)容/縮容,無可視化管理界面,運(yùn)維不友好,出現(xiàn)故障,不能自動(dòng)轉(zhuǎn)移。

Codis

Codis 是一個(gè)分布式Redis 解決方案,對(duì)于上層應(yīng)用來說,連接 Codis-Proxy 和直接連接原生的Redis-Server 沒有的區(qū)別。Codis 底層會(huì)處理請(qǐng)求的轉(zhuǎn)發(fā),不停機(jī)的進(jìn)行數(shù)據(jù)遷移等工作。Codis 采用了無狀態(tài)的代理層,對(duì)于客戶端來說,一切都是透明的。

優(yōu)點(diǎn)

實(shí)現(xiàn)了上層 Proxy 和底層 Redis 的高可用,數(shù)據(jù)分片和自動(dòng)平衡,提供命令行接口和 RESTful API,提供監(jiān)控和管理界面,可以動(dòng)態(tài)添加和刪除Redis 節(jié)點(diǎn)。

缺點(diǎn)

部署架構(gòu)和配置復(fù)雜,不支持跨機(jī)房和多租戶,不支持鑒權(quán)管理。

看完上述內(nèi)容,你們對(duì)redis集群與redis分布式的區(qū)別有進(jìn)一步的了解嗎?如果還想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀。

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

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

AI