Redis集群 |
您所在的位置:网站首页 › 去中心化有哪些模式 › Redis集群 |
去中心化模式特点
之前介绍的主从模式和哨兵模式都只有一个master主节点,如果写操作并发比较大时,这两个模式就会堵塞。这时就可以使用集群化模式,也称之为去中心化模式,其特点是多master和多slave。 去中心化的原理为: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个分区表,写入数据时会根据上面的算法来决定你的 key 应该存在哪个分区。 搭建去中心化模式 准备工作
首先修改配置文件中的以下内容。 # 设置远程连接IP改为任意 bind 0.0.0.0 -::1 # 服务进程端口 port 7001 # 使用守护线程方式启动 daemonize yes # 开启 aof 持久化 appendonly yes # 日志文件名称 appendfilename "appendonly7001.aof" # 日志文件夹名称 appenddirname "appendonlydir7001" # 开启集群模式 cluster-enabled yes # 集群配置文件 cluster-config-file nodes-7001.conf # 集群超时时间 cluster-node-timeout 5000并为其他五个端口生成配置文件。 启动所有配置文件,并查看进程状况。 使用redis-cli --cluster命令为端口配置主从关系及哈希槽。 # 1为每个主节点的从节点个数 redis-cli --cluster create --cluster-replicas 1 192.168.112.66:7001 192.168.112.66:7002 192.168.112.66:7003 192.168.112.66:7004 192.168.112.66:7005 192.168.112.66:7006运行完成后可以查看各个服务的主从关系。 测试 登入服务测试搭建结果。 # -c为使用集群化模式 -p为链接端口号 -h为服务器IP(本地可以省略) redis-cli -c -p 7001写入数据时,redis会先对 key 使用 crc16 算法算出一个结果,然后将结果对 16384 求余,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点上,然后根据数值选择对应的主服务器进行写操作。 模拟其中一个主节点(此处例举为7003端口)宕机。 使用命令重新查看集群状态。 # 检查当前集群状态 链接的IP地址以及服务端口 redis-cli --cluster check 192.168.112.66:7001
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |