一、Redis的分布式
概念
分布式数据库把这个数据库分区规则映射到多个节点,即把数据划分到多个节点上,每个
节点负责整体数据的一个子集
比如库有900条用户数据,有3个redis节点,将900条分成3分,分别存入到3个redis节点
分区规则
常见的分区股则哈希分区和顺序分区,redis 集群使用了哈希分区,顺分区暂用不到,
RedisCluster 采用了哈希分区的“虚拟槽分区”方式(哈希分区节点取余,一致性哈希
分区和虚拟槽分区)
虚拟分区
槽:slot
RedisCluster采用此分区,所有的键根据哈希函数(CRC16383)映射到0-16383槽内,共
16384个槽位,每个节点维护部分槽及槽映射的键值数据
哈希函数:Hash()=CRC16[KEY]&16383
RedisCluster 的缺陷
a.键的批量操作支持有限,比如mset,mget,如果多个键映射在不同的槽,就不支持了
mset name james age 19
b.键事务支持有限,当多个键分布在不同节点是无法使用事务,同一节点是支持事务
c.键是数据分区的最小粒度,不能将一个很大的键值映射到不同的节点
d.不支持多数据库,只有0,select 0
e.复制结构只支持单层结构,不支持树形结构
下载链接 https://pan.baidu.com/s/1kWsf3Rh 密码:n3pc
从这个链接下载 ruby-2.3.1.tar.gz 和redis.3.3.0.gem
tar -zxvf ruby-2.3.1.tar.gz
a.cd ruby-2.3.1
b../configure-prefix=/usr/local/ruby
c.make&nake install //过程大概5-10分钟
d.然后gem install -l redis-3.3.0.gem //若没有gem需要安装yum install gem -y
e.准备好6个节点配置文件redis6379.conf...redis6391.conf 加上bind 192.168.42.111
f (注意不要设置requirepass,不然./redis-trib访问不了),将/usr/local/bin/clusterconf/data的
config-file删除
g.依次启动6个节点:./redis-server clusterconf/redis6379.conf
h.如果之前redis有数据存在,flushall清空:(不需要cluster meet)
i../redis-trib.rb create -replicas 1 192.168.42.111:6379 192.168.42.111:6380
192.168.42.111:6381 192.168.42.111:6389 192.168.42.111:6390 192.168.42.111:6391
以6379 为例
port 6379 //节点端口
cluster-enabled yes //开启集群模式
cluster-node-timeout 15000 //节点超时时间
cluster-config-file /usr/local/bin/clustercon/data/nodes-6379.conf //集群内部配置文件
其它节点的配置和这个一致,改端口即可
分别启动6个节点
./redis-server clusterconf/redis6379.conf &
./redis-server clusterconf/redis6380.conf &
./redis-server clusterconf/redis6381.conf &
./redis-server clusterconf/redis6389.conf &
./redis-server clusterconf/redis6390.conf &
./redis-server clusterconf/redis6391.conf &
Gossip协议的主要职责就是信息交换,信息交换的载体就是节点之间彼此发送的Gossip消息,常用
的Gossip消息有ping消息、pong消息、meet消息、fail消息
meet消息:用于通知新节点加入,消息发送者通知接受者加入到当前集群,meet消息通信完后,接收
节点会加入到集群中,并进行周期性ping pong交换
ping消息:集群内交换频繁的消息,集群内每个节点每秒向其他发ping的消息,用于检测节点是在线
和状态信息,ping消息发送封装自身节点和其他节点的状态数据
pong消息: 当接收ping meet消息时,作为响应消息返回给发送方,用来确认正常通信,pong消息也封闭
了自身状态数据
fail消息: 当前判定集群内的另一节点下线时,会向集群内广播一个fail消息
10_Redis分布式
最新推荐文章于 2025-08-13 09:21:19 发布
4018

被折叠的 条评论
为什么被折叠?



