redis-cluster

來源:本站原創 Linux 超過657 views圍觀 0條評論

一,為什么要用redis-cluster

1.并發問題
redis官方生成可以達到 10萬/每秒,每秒執行10萬條命令
假如業務需要每秒100萬的命令執行呢?

2.數據量太大

一臺服務器內存正常是16~256G,假如你的業務需要500G內存,你怎么辦?解決方案如下

  1. 配置一個超級牛逼的計算機,超大內存,超強cpu,但是問題是。。。。

2.正確的應該是考慮分布式,加機器,把數據分到不同的位置,分攤集中式的壓力

二,客戶端分片

redis實例集群主要思想是將redis數據的key進行散列,通過hash函數特定的key會映射到指定的redis節點上

數據分布

順序分區

哈希分區(redis-cluster用的是哈希分區)

節點取余

 

計算示例 

節點  0 1 2

對1到6取余

1  1/3 =1  對應 節點1

2  2/3 =2 對應 節點2

3  3/3 =0  對應 節點0

4  4/3 =1

5  5/3 = 2

6  6/3 = 0

 

 

 

例如按照節點取余的方式,分三個節點

1~100的數據對3取余,可以分為三類

  • 余數為0
  • 余數為1
  • 余數為2

那么同樣的分4個節點就是hash(key)%4

節點取余的優點是簡單,客戶端分片直接是哈希+取余

一致性哈希

客戶端進行分片,哈希+順時針取余

 

是個封閉 環

 

虛擬槽分區
每一個數據的鍵被哈希函數映射到一個槽位,redis-cluster規定一共有16384個槽位

三,搭建集群

單機模式

分布式架構

分布式架構

多個服務端,負責讀寫,彼此通信,redis指定了16384個槽,ruby的腳本自動就把分配槽位這事做了

文章出自:CCIE那點事 http://www.61384694.buzz/ 版權所有。本站文章除注明出處外,皆為作者原創文章,可自由引用,但請注明來源。 禁止全文轉載。
本文標題:redis-cluster
本文鏈接:http://www.61384694.buzz/?p=4190轉載請注明轉自CCIE那點事
如果喜歡:點此訂閱本站
?
?
上下分麻将平台 合数单双中特公式 (-^O^-)MG魔术兔投注 (^ω^)MG古墓奇兵_正规平台 吉林快3预测一定牛 (★^O^★)MG外星大袭击试玩 一码中特一肖中特 (*^▽^*)MG黄金翅膀_稳赢版 中湖北30选5大奖 (★^O^★)MGPlayboy黄金怎么玩容易爆分 (^ω^)MG经典老虎机首页 永利彩票平台注册送钱 冰球突破11个红人多少倍 湖北快3遗漏 见过最牛的两码中特 (★^O^★)MG边境之心游戏网站 (-^O^-)MG幸运生肖如何爆大奖