溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Redis中Cluster的示例分析

發(fā)布時間:2021-07-30 11:24:17 來源:億速云 閱讀:120 作者:小新 欄目:數(shù)據(jù)庫

小編給大家分享一下Redis中Cluster的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

1.1 Redis-Cluster簡介

1.1.1 什么是Redis-Cluster

為何要搭建Redis集群。Redis是在內(nèi)存中保存數(shù)據(jù)的,而我們的電腦一般內(nèi)存都不大,這也就意味著Redis不適合存儲大數(shù)據(jù),適合存儲大數(shù)據(jù)的是Hadoop生態(tài)系統(tǒng)的Hbase或者是MogoDB。Redis更適合處理高并發(fā),一臺設備的存儲能力是很有限的,但是多臺設備協(xié)同合作,就可以讓內(nèi)存增大很多倍,這就需要用到集群。

Redis集群搭建的方式有多種,例如使用客戶端分片、Twemproxy、Codis等,但從redis 3.0之后版本支持redis-cluster集群,它是Redis官方提出的解決方案,Redis-Cluster采用無中心結構,每個節(jié)點保存數(shù)據(jù)和整個集群狀態(tài),每個節(jié)點都和其他所有節(jié)點連接。其redis-cluster架構圖如下:

Redis中Cluster的示例分析

客戶端與 redis 節(jié)點直連,不需要中間 proxy 層.客戶端不需要連接集群所有節(jié)點連接集群中任何一個可用節(jié)點即可。
所有的 redis 節(jié)點彼此互聯(lián)(PING-PONG 機制),內(nèi)部使用二進制協(xié)議優(yōu)化傳輸速度和帶寬.

1.1.2分布存儲機制-槽

(1)redis-cluster 把所有的物理節(jié)點映射到[0-16383]slot 上,cluster 負責維護node<->slot<->value

(2)Redis 集群中內(nèi)置了 16384 個哈希槽,當需要在 Redis 集群中放置一個 key-value 時,redis 先對 key 使用 crc16 算法算出一個結果,然后把結果對 16384 求余數(shù),這樣每個key 都會對應一個編號在 0-16383 之間的哈希槽,redis 會根據(jù)節(jié)點數(shù)量大致均等的將哈希槽映射到不同的節(jié)點。

例如三個節(jié)點:槽分布的值如下:

  • SERVER1: 0-5460

  • SERVER2: 5461-10922

  • SERVER3: 10923-16383

1.1.2分布存儲機制-槽

(1)redis-cluster 把所有的物理節(jié)點映射到[0-16383]slot 上,cluster 負責維護node<->slot<->value

(2)Redis 集群中內(nèi)置了 16384 個哈希槽,當需要在 Redis 集群中放置一個 key-value 時,redis 先對 key 使用 crc16 算法算出一個結果,然后把結果對 16384 求余數(shù),這樣每個key 都會對應一個編號在 0-16383 之間的哈希槽,redis 會根據(jù)節(jié)點數(shù)量大致均等的將哈希槽映射到不同的節(jié)點。

例如三個節(jié)點:槽分布的值如下:

  • SERVER1: 0-5460

  • SERVER2: 5461-10922

  • SERVER3: 10923-16383

Redis中Cluster的示例分析

以上是“Redis中Cluster的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

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

AI