數據分佈
數據分佈理論
分佈式系統數據分區規則:常見的有哈希分區和順序分區兩種。
哈希分區
常見的hash分區規則有:節點取餘分區,一致性hash分區,虛擬槽分區.
redis數據分區
redis集羣功能限制
1. key批量操作支持有限。如mset,mget. 目前只支持具有相同slot值的key進行批量操作。
2. key事務支持有限。同樣只支持多key在同一個節點上的事務操作。
3. key作爲數據分區的最小粒度,因此不能將一個大的鍵值對象如hash,list等映射到不同的節點;
4. 不支持多數據空間。單機下的redis可以支持16個數據庫,集羣模式下只能使用一個數據空間,即db0.
5. 複製結構只支持一層,slave只能複製master,不支持嵌套樹狀複製結構。
集羣搭建
使用redis-trib.rb工具搭建。 略。
跟集羣相關的命令
cluster nodes #查看集羣節點
cluster info #查看集羣信息
cluster slots #查看集羣槽的分佈情況
cluster keyslot {keyname} 返回key對應的槽
節點通信
集羣伸縮
請求路由
請求重定向
smart客戶端
ask重定向
故障轉移
故障發現
主觀下線
客觀下線
故障恢復
故障轉移時間
集羣運維
集羣讀寫分離
參考
《redis開發與運維》