集群原理及搭建)
文章目录1. 集群原理2.在win环境下的搭建2.1 redis-trib.rb方式搭建2.2 redis-cli --cluster方式搭建推荐版本说明 本文搭建部分使用较早 Redis 版本当时通过 Ruby redis-trib.rb 创建集群较新 Redis已将集群管理功能整合进 redis-cli --cluster当前建议使用后者。1. 集群原理reids在3.0之后开始支持集群(cluster)模式该模式目前支持节点的自动发现、选举和容错、在线分片等特性。如果说主从复制是一个骑士带着一个或多个跟班且跟班不能顶替骑士哨兵机制就是骑士手下的跟班能够顶替骑士但是这两种方式最终都只是骑士单打独斗而集群就是把骑士集中起来组成骑士军团毕竟团队的力量是无穷的。redis集群有以下特点1.所有的redis节点都通过ping-pong机制互联内部使用二进制优化传输速度和带宽。2.某节点超过 cluster-node-timeout 不可达时会先被判断为 PFAIL当收集到大多数 Master 节点的有效故障报告后才会升级为 FAIL。3.客户端与redis节点直连不需要中间proxy层客户端只要连接其中一个节点即可。4.把所有的物理节点映射在槽(slot)上对node-slot-value进行维护。上面说的节点都是主节点(主服务器)下面是原理图2.在win环境下的搭建2.1 redis-trib.rb方式搭建在配置文件中进行了如下修改port 7000——端口号cluster-enabled yes——开启集群cluster-config-file nodes-7000.conf——节点配置文件名cluster-node-timeout 5000——超时时间appendonly yes——AOF日志开启配置文件里其实可以更改daemonize设置节点为后台启动只是win不支持。另外几份也进行同样配置。全部配置完成后安装ruby、ruby的redis驱动和redis的ruby脚本redis-trib.rb因为在集群中使用的是节点的环回地址springboot是连接不上的把所有节点的地址改成IP项目中都是使用IP所以这一点不算坑2.2 redis-cli --cluster方式搭建推荐