欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

Redis集群技術架構

1、無中心化

  • Redis Cluster采用無中心架構,每個節點都保存數據和整個集群的節點狀態
  • 每個節點都和集群中的其它節點保持連接
  • 使用gossip協議傳播信息以及發現新的節點
  • 節點不作為client請求的代理,client應該根據節點返回的錯誤信息重定向到目標client

2、數據分布(slot)

redis預設16384個slot(槽),集群中的每個master節點負責分管一部份slot,保存數據時,根據CRC16(key) mod 16384的值,決定將一個key放到哪個槽中,從而定位由哪個redis實例存儲。當發生Redis節點增減時,調整桶的分布即可,實現了集群的動態擴容功能。同時也間接的說明redis集群最多只能有16384個節點。
例如:假設Redis集群有三個節點A/B/C,在開始創建的時候,集群中節點槽的分配如下:
Node A 分管slot的編號為:0 ~ 5460
Node B 分管slot的編號為:5461 ~ 10922
Node C 分管slot的編號為:10923 ~ 16383
當添加一個新的master節點D,假設為它分配900個slot,你可以從節點ABC三中各取300個分配給D,也可指定從A或B或C中移出900個slot分配給D,或選其中幾個節點中各取一部份湊夠900個分配給D即可。同樣的,如果要將D節點移除,需要先將D節點分管的slot全部分配到其它master節點后才能移除,否則有無效的slot,集群將無法服務。

3、可用性:Master-Slave

  • 為了保證服務的可用性,Redis Cluster采取的方案是Master-Slave機制
  • 每個Redis Master Node可以有一個或者多個Slave Node。當Master Node掛掉時,會從Slave Node中選一個新的Master
  • 每個Master Node都負責分管一定范圍的slot,當這些slot對應的Master和Slave都掛掉時,這部份slot對應的數據將不可用
  • 16384個slot必須被全部分配,否則集群將不可用。通過cluster info查看集群狀態可以得知。

4、寫

Redis Cluster采用異步復制機制
一個完整的寫操作步聚:
1. client寫數據到master
2. master回復client “OK”
3. master將數據傳播更新到slave

存在數據丟失的風險:
1. 上述步聚1)和2)成功后,如果此時master crash,而數據還沒有傳播到slave。此時slave選主為master,但那部份數據可能就被丟失了。
2. 由于分區導致同時存在兩個master,client向舊的master寫入了數據
當然,由于Redis Cluster存在超時及故障恢復機制,第2個風險基本上可以忽略不計

5、數據遷移

Redis Cluster支持在線增、減節點。基于slot的數據分布方式大大降低了遷移成本,只需將數據slot從一個redis node遷移到另一個redis node即可完成遷移工作 。

當slot從一個Node A向另一個Node B遷移時,Node A和Node B都會有這個slot,Node A上slot的狀態設置為MIGRATING,Node B上的狀態被設置為IMPORTING。此時當客戶端請求時,所有key在Node A上的請求都由A來處理,所有不在A上的key都由Node B來處理。同時,Node A上將不會創建新的key。

6、客戶端操作的一些缺陷

  • 不支持多數據庫,默認只有一個0號db,select 0
  • cluster環境下slave默認不接受任何讀寫操作,在slave執行readonly命令后,可執行讀操作。執行readwrite命令后,可執行讀寫操作。
  • client端不支持多key操作(mget,mset等),但當keys集合對應的slot相同時支持mget操作。

    Redis集群技術架構

文章鏈接: http://www.qzkangyuan.com/13636.html

文章標題:Redis集群技術架構

文章版權:夢飛科技所發布的內容,部分為原創文章,轉載請注明來源,網絡轉載文章如有侵權請聯系我們!

聲明:本站所有文章,如無特殊說明或標注,均為本站原創發布。任何個人或組織,在未征得本站同意時,禁止復制、盜用、采集、發布本站內容到任何網站、書籍等各類媒體平臺。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。

給TA打賞
共{{data.count}}人
人已打賞
建站教程投稿分享

Redis集群管理(二)

2022-12-2 0:24:47

建站教程投稿分享

MySQL用戶權限管理

2022-12-2 0:33:10

0 條回復 A文章作者 M管理員
    暫無討論,說說你的看法吧
?
個人中心
購物車
優惠劵
今日簽到
有新私信 私信列表
搜索
主站蜘蛛池模板: 葫芦岛市| 旺苍县| 桐梓县| 连山| 南宁市| 桂东县| 藁城市| 阿拉善左旗| 和田县| 澄江县| 炉霍县| 东方市| 凤冈县| 抚远县| 西安市| 防城港市| 闽侯县| 黄骅市| 隆尧县| 乌什县| 漯河市| 广河县| 巴彦县| 正阳县| 泊头市| 天门市| 卢湾区| 修武县| 炉霍县| 罗江县| 滨海县| 临潭县| 星座| 新巴尔虎右旗| 邵东县| 伊川县| 崇明县| 沙田区| 宜宾县| 永州市| 二手房|