一、redis集群三种模式:
1.主从复制:最少3台,一主两从
redis主从复制与mysql主从复制类似,主可以写,写入主的数据通过RDB方式把数据同步到从服务器,从不能更新到主,也是哨兵模式的基础。
缺点:故障自动化恢复,只有主能够写。
2.哨兵模式:最少3台,一主两从
哨兵模式建立在主从复制之上,目的是为了故障自动化切换,主从复制完成之后,从服务器变成只读模式;故障切换时,主故障,变成从服务器,主变成从之后也会进入只读模式。
缺点:从节点一旦故障,读会受到影响
3.cluster集群:最少6台
把每两台服务器最为主从模式,形成一个大的主从的集群,它解决了哨兵的写操作的负载均衡,它较为完善的高可用方案。
缺点:保证高可用,但对数据的完整性要求不高
二、主从复制的流程:有主节点和从节点,数据的复制是单向的,由主复制到从。
部署架构
主:192.168.127.11
从1:192.168.127.22
从2:192.168.127.33
1.主从复制
三台服务器同步操作
配主
配从一
配从2
看日志
主写入数据
从查看
三、哨兵模式(基于主从复制):目的是为了主从切换。
主从、从从互相监控,有故障主从实现自动切换。哨兵模式指定端口:26379
哨兵模式主从切换不是按照权重进行切换的,是按照投票进行的,主挂了(宕机),其它从服务器投票进行选举,算法为Raft,选一个离当前时间点更新最近的从变成主。
三台同步
退出同步,哨兵模式启动要先启动主,再启动从
在主服务器创建数据,查看从服务器同步
故障切换
打开日志三台都要
暂停原主服务器:系统会选举其中一台从为新的主服务器,可以在日志中看到选举出的新的主服务器
再将原来的主服务器启动(启动后就变为了从服务器)
在现在的主创建数据,查看现在的从
三、redis集群:
1.只满足高可用;集群由多个节点组成,redis数据保存在这些节点;集群中的节点分为主和从;主负责读写以及维护集群的信息;从节点进行主节点数据的复制也可以查;每个主服务器不能将结果复制到其它节点的从服务器上。
2.redis集群概念中,引用的是hash槽概念;创建了集群就有16384个hash槽,三个hash槽每个节点分到5460个hash槽;实验当中要把所有的16384个节点都要均匀分配完毕,实验才算成功。
3.节点当中,如果主和从全部失败,整个集群全部失败。
4.实验
6台服务器共同操作:关闭防火墙,时间进行同步,修改配置文件
所有服务器重启
修改完配置文件之后启动集群。随后退出同步操作在其中一台操作分配主从
测试:在11主机内创建数据,完了回到这个主服务器应对的从服务器查看同步结果
7.实验中moved不是报错,只是系统提示客户端到指定的哈希槽进行读或者写,系统提示到哪,就去哪个节点操作即可,这个节点是该节点的主。