日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Redis Cluster 集群模式原理和动态扩容

發布時間:2024/1/23 数据库 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis Cluster 集群模式原理和动态扩容 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Redis Cluster原理
詳細參考 Redis cluster集群模式的原理, 在這里補充下要點

16384個slot, 平均分布在各個master, key-value 對存儲在slot中; 因此達到分片存儲的效果; key的hash值對16384取模后, 映射到slot
redis cluster默認是不支持slave節點讀或者寫的, 這和哨兵模式有區別
基于slot的請求重定向: 客戶端可能會挑選任意一個redis實例去發送命令,每個redis實例接收到命令,都會計算key對應的hash slot, 根據slot實際所在的節點重定向
redis cluster 高可用的原理,同樣是主從復制, 主備切換
Redis Cluster動態擴容與收縮
詳細參考 Redis Cluster動態擴容與收縮, 概括如下

redis 的動態擴容操作都是通過redis源碼文件夾中, redis-trib.rb腳本文件來完成的, 運行此腳本需要 ruby環境, 參考 CentOS安裝ruby環境.
為Cluster動態增加節點(也就是添加的時候不影響正在運行的節點), 需要先主后從, slot遷移在添加主節點之后; 反之, 動態刪除節點, 需要先從后主, slot遷移在刪除主節點之前
添加主節點到集群命令 ruby redis-trib.rb add-node <new node> <existing node>, 其中new node和 existing node(Cluster中任意一個master均可) 自行替換
重新分片, 為新節點遷移slot: ruby redis-trib.rb reshard <existing node>此后按提示操作, 需要指定新的node中遷移的slot數量, 以及從哪些節點遷移
刪除主節點前, 先遷出slot, 移除slot 輸入值要比slot總數小1(詳見原文)
執行主節點刪除: ruby redis-trib.rb del-node <existing node> <node id>
哨兵模式和集群模式的異同
哨兵模式不能動態擴容和收縮
哨兵模式只有主節點可以進行寫操作, 容易成為性能瓶頸
集群模式的數據是分片存儲的
集群模式沒有讀寫分離
都采用主從復制, 主備切換來實現高可用
————————————————

原文鏈接:https://blog.csdn.net/robbyzhan/article/details/103891024

總結

以上是生活随笔為你收集整理的Redis Cluster 集群模式原理和动态扩容的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。