精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>C/C++語(yǔ)言編程>

Redis Cluster的基本原理及實(shí)現(xiàn)細(xì)節(jié)

大小:0.7 MB 人氣: 2017-09-28 需要積分:2

  Redis Cluster的基本原理和架構(gòu)

  Redis Cluster是分布式Redis的實(shí)現(xiàn)。隨著Redis版本的更替,以及各種已知bug的fixed,在穩(wěn)定性和高可用性上有了很大的提升和進(jìn)步,越來(lái)越多的企業(yè)將Redis Cluster實(shí)際應(yīng)用到線上業(yè)務(wù)中,通過(guò)從社區(qū)獲取到反饋社區(qū)的迭代,為Redis Cluster成為一個(gè)可靠的企業(yè)級(jí)開(kāi)源產(chǎn)品,在簡(jiǎn)化業(yè)務(wù)架構(gòu)和業(yè)務(wù)邏輯方面都起著積極重要的作用。下面從Redis Cluster的基本原理為起點(diǎn)開(kāi)啟Redis Cluster在業(yè)界的分析與思考之旅。

  基本原理

  Redis Cluster的基本原理可以從數(shù)據(jù)分片、數(shù)據(jù)遷移、集群通訊、故障檢測(cè)以及故障轉(zhuǎn)移等方面進(jìn)行了解,Cluster相關(guān)的代碼也不是很多,注釋也很詳細(xì),可自行查看,地址是:https://github.com/antirez/redis/blob/unstable/src/cluster.c。這里由于篇幅的原因,主要從數(shù)據(jù)分片和數(shù)據(jù)遷移兩方面進(jìn)行詳細(xì)介紹:

  數(shù)據(jù)分片

  Redis Cluster在設(shè)計(jì)中沒(méi)有使用一致性哈希(Consistency Hashing),而是使用數(shù)據(jù)分片(Sharding)引入哈希槽(hash slot)來(lái)實(shí)現(xiàn);一個(gè) Redis Cluster包含16384(0~16383)個(gè)哈希槽,存儲(chǔ)在Redis Cluster中的所有鍵都會(huì)被映射到這些slot中,集群中的每個(gè)鍵都屬于這16384個(gè)哈希槽中的一個(gè),集群使用公式slot=CRC16(key)/16384來(lái)計(jì)算key屬于哪個(gè)槽,其中CRC16(key)語(yǔ)句用于計(jì)算key的CRC16 校驗(yàn)和。

  集群中的每個(gè)主節(jié)點(diǎn)(Master)都負(fù)責(zé)處理16384個(gè)哈希槽中的一部分,當(dāng)集群處于穩(wěn)定狀態(tài)時(shí),每個(gè)哈希槽都只由一個(gè)主節(jié)點(diǎn)進(jìn)行處理,每個(gè)主節(jié)點(diǎn)可以有一個(gè)到N個(gè)從節(jié)點(diǎn)(Slave),當(dāng)主節(jié)點(diǎn)出現(xiàn)宕機(jī)或網(wǎng)絡(luò)斷線等不可用時(shí),從節(jié)點(diǎn)能自動(dòng)提升為主節(jié)點(diǎn)進(jìn)行處理。

  如圖1,ClusterNode數(shù)據(jù)結(jié)構(gòu)中的slots和numslots屬性記錄了節(jié)點(diǎn)負(fù)責(zé)處理哪些槽。其中,slot屬性是一個(gè)二進(jìn)制位數(shù)組(bitarray),其長(zhǎng)度為16384/8=2048 Byte,共包含16384個(gè)二進(jìn)制位。集群中的Master節(jié)點(diǎn)用bit(0和1)來(lái)標(biāo)識(shí)對(duì)于某個(gè)槽是否擁有。比如,對(duì)于編號(hào)為1的槽,Master只要判斷序列第二位(索引從0開(kāi)始)的值是不是1即可,時(shí)間復(fù)雜度為O(1)。

  Redis Cluster的基本原理及實(shí)現(xiàn)細(xì)節(jié)

  圖1 ClusterNode數(shù)據(jù)結(jié)構(gòu)

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

Redis Cluster的基本原理及實(shí)現(xiàn)細(xì)節(jié)下載

相關(guān)電子資料下載

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?