redis提供的服务OPS可以达到10万/秒,当前业务OPS已经达到20万/秒 内存单机容量达到256G,当前业务需求内存容量1T 使用集群的方式可以解决问题
集群就是使用网络若干台计算机联通起来,并提供统一的管理的方式。使其对外呈现单机的服务效果; 作用:分散单台服务器的压力,实现负载均衡 分散单台服务器的存储压力,实现可扩展性 降低单台服务器宕机带来的业务灾难
各个数据库相互通信,保存各个库中槽的编号数据 一次命中,直接返回 一次未命中,告知具体位置
master集群 port 6379 daemonize no #logfile “6379.log” dir /redis-4.0.0/data dbfilename dump-6379.rdb rdbcompress yes rdbchecksum yes save 10 2 appendonly yes appendfsync always appendfilename appendonly-6379.aof bind 127.0.0.1 database 16 cluster-enabled yes #集群j节点开启 cluster-config-file nodes-6379.conf 每个cluster都有自己的启动文件,在不同的目录可以不用 会自动生成记录集群连接点信息 cluster-node-timeout 100000 10s超时就下线 接下来就是实现master连接到一块 第一步:安装ruby ruby-v gem -v 第二步:找到redis trib.rb 执行命令:./redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 replicas 1 表示1个master连1个slave 数量必须为2,4,6这种 127.0.0.1:6379 127.0.0.1:6380 会自动识别 1个为master一个为slave
集群客户端命令:redis-cli -c 集群客户端命令:redis-cli -c -p(6379不用) cluster nodes 从掉线再上线之后还是从 主掉线,上线变为从
设置加入Cluster,成为其中的节点
cluster-enabled yes|nocluster配置文件名,该文件属于自动生成,,仅用于查找文件并查询文件内容
cluster-config-file <filename>节点服务响应超时时间,用于判定该节点是否下线或切换为从节点
cluster-node-timeout <millsecond>master连接的slave最小数量
cluster-migration-barrier <count>查看集群节点信息:
cluster nodes进入一个从节点redis,切换其主节点
cluster replicate <master-id>发现一个新节点,新增主节点
cluster meet ip:port忽略一个没有solt的节点
cluster forget<id>手动故障转移
cluster failover