Redis_cluster是主从同步的异步复制模式
Redis_cluster在划分集群节点指定副本选项时已经规定了master和slave的角色(规定了主从模式)
redis.conf单机启用cluster-enabled
Redis版本3或4需要安装redis-3.2.1.gem集群程序文件
Redis 5或更高版本使用redis-cli --cluster直接创建集群就行
详见官网:https://redis.io/topics/cluster-tutorial
Redis集群工作原理基于哈希槽,先对key做CRC16校验,然后对16384取模,来决定key的存储位置
集群不能用的情况:如果一对主从同时失败,则Redis Cluster无法继续运行
添加主机:1添加2重新分片哈希槽;
移除主机:1重新分片哈希槽 ,2移除
redis主从复制:slave发动sync技能--->master接招bgsave---master准备放大招(改变的dataset)打到slave账号--->slave吸收并展现
手动模式配置主从:在从库执行SLAVEOF 主库IP 主库端口号,缺点:当故障时不能自动切换主从
哨兵模式配置主从:由从库担任并配置sentinel.conf文件执行哨兵程序,当主库故障时,可以投票决定由某个从库担任主库,从而保证主库的高可用
redis cluster集群 与sentinel哨兵模式的异同:
这两种模式,都有failover机制, 如果配合使用,有可能会选出两个master,因为同时是两个完全不同的failover 机制在运行
是因为 cluster 主要目的是提供分布式缓存的解决方案,而且自带了failover 功能
而sentinel 是官方给的默认的HA 方案,主要解决单机缓存可用性的问题 另外,这两种模式都使用了master-slave 模式 和 副本拷贝功能