好记性不如烂笔头,记录分片高可用Redis Cluster的搭建过程
请对照上面的架构图
select
命令被禁用 hash_slot = CRC16(16)mod 16384
例外:key hash tags:
{user1000}.following和{user1000}.followers两个键值将被放在一个哈希槽,因为只有子字符串user1000将被用来计算哈希槽。
gossip协议
和配置更新机制,以避免在正常情况下在节点之间交换过多的消息,因此交换的消息数量不是指数级的当前节点能处理最好,不能处理将返回 MOVED error、哈希槽、能处理的节点,客户端将自行定向到特定新节点查询。
本文使用一个单物理机,搭建伪Redis Cluster(3主3从)
port
为7002 7003 7004 7005 7006cd redis01
./redis-server redis.conf &
cd ..
cd redis02
./redis-server redis.conf &
cd ..
cd redis03
./redis-server redis.conf &
cd ..
cd redis04
./redis-server redis.conf &
cd ..
cd redis05
./redis-server redis.conf &
cd ..
cd redis06
./redis-server redis.conf &
cd ..
redis 5+可以使用redis-cli 特定命令来组建集群; redis3,4使用
redis-trib.rb
来协助组建。
使用redis-cli --cluster命令创建由6个节点组成的redis cluser,其中cluster-replicas 1
将为每个master节点创建slave节点(不带上这个cluster-replicas
,会创建了6个master节点组成的redis cluster).
redis-cli --cluster create 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 --cluster-replicas 1
redis-cli -p 7001 -c
登录节点cluster nodes
查看节点状态以上操作搭建了由3master 3Slave形成的高可用redis cluster,
节点角色由自动生成的nodes.conf
文件维护
如果觉得以上过程很繁琐,Redis官方提供了另外的工具,在utils目录下存在create-cluster
脚本。
以上就是Redis Cluster科普级别的知识, 帮助大家快速全面了解Redis Cluster, 快速搭建Redis Cluster。
好记性不如烂笔头,倒腾一次,记录一次。
原文:https://www.cnblogs.com/JulianHuang/p/14854693.html