ToB企服应用市场:ToB评测及商务社交产业平台

标题: redis的集群模式 [打印本页]

作者: 盛世宏图    时间: 2024-8-24 11:07
标题: redis的集群模式
目次
1. 为什么使用redis集群
2. 主从模式
2.1修改设置文件
 2.2 开启三台redis服务
 2.3设置主从关系
3. 哨兵模式
3.1 监控功能
3.2 推选的机制
3.3 准备条件
4. 去中央化模式
4.1 准备三主三从
4.2 启动redis
4.3 分配槽以及主从关系
4.4 命令行的客户端


redis提供了三种集群模式。

1. 为什么使用redis集群

进步并发量,进步了可用性。
2. 主从模式(3版本以下)

redis主从模式表示一个主节点跟多少个从节点。 主节点可以负责写操作和读操作。而从节点只负责读操作。主节点的数据会自动同步到所有的从节点上。

 我们为了操作方便: 我在一台linux上跑三个redis服务器。 只要端口号不同即可。
2.1修改设置文件








 2.2 开启三台redis服务

  1. redis-server redisXXX.conf
复制代码

 2.3设置主从关系

配从不配主,slaveof 主节点IP 主节点port。
info replication:检察主从的状态。

思索:
1. 假如某台slave宕机,假如规复后是否具有master新增的数据呢。 
2. master宕机后,slave会不会自动推选拉大。 [不会] 

发现主从模式的缺点: 不会自动推选master节点。导致一旦主节点宕机,无法进行写操作。
3. 哨兵模式(3版本到5版本)

为了解决主从模式的缺陷:当主节点宕机后,从节点无法直接上位。

3.1 监控功能


搭建sentinel服务时,只管搭建奇数个。
3.2 推选的机制


3.3 准备条件

修改sentinel.conf:

启动哨兵服务:
  1. redis-sentinel sentinel.conf
复制代码

4. 去中央化模式(5版本以上)


redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value时,redis 先对 key 使用 crc16 算法算出一个整数效果,然后把效果对 16384 求余数,如许每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点
当你往Redis Cluster中加入一个Key时,会根据crc16(key) mod 16384计算这个key应该分布到哪个hash slot中,一个hash slot中会有许多key和value。你可以明白成表的分区,使用单节点时的redis时只有一个表,所有的key都放在这个表里;改用Redis Cluster以后会自动为你生成16384个分区表,你insert数据时会根据上面的简单算法来决定你的key应该存在哪个分区,每个分区里有许多key
4.1 准备三主三从



4.2 启动redis


4.3 分配槽以及主从关系

分槽,以及设置主从关系。 副本
redis-cli --cluster create --cluster-replicas 1 192.168.111.188:7001 192.168.111.188:7002 192.168.111.188:7003 192.168.111.188:7004 192.168.111.188:7005 192.168.111.188:7006 

4.4 命令行的客户端

  1. redis-cli -c -h 192.168.111.188 -p 7006
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4