主机(Master/Leader)数据更新后根据配置和策略,自动复制到备机(Slave/Follower)。数据的复制是单向的!只能由主节点复制到从节点(主节点以写为主、从节点以读为主)。
默认情况下,每台Redis服务器都是主节点,一个主节点可以有0个或者多个从节点,但每个从节点只能有一个主节点(一主多从)。
1.2 作用数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余的方式。
故障恢复:当主节点故障时,从节点可以暂时替代主节点提供服务,是一种服务冗余的方式
负载均衡:在主从复制的基础上,配合读写分离,分担服务器的负载,提高并发量。
高可用基石:主从复制还是哨兵和集群能够实施的基础。
1.3 为什么使用集群- 单台服务器难以负载大量的请求单台服务器故障率高,系统崩坏概率大单台服务器内存容量有限。
配置一个一主二从的集群:
从机只能读,不能写,主机可读可写但是多用于写。
当主机断电宕机后,默认情况下从机的角色不会发生变化 ,集群中只是失去了写操作,当主机恢复以后,又会连接上从机恢复原状。
当从机断电宕机后,若不是使用配置文件配置的从机,再次启动后作为主机是无法获取之前主机的数据的,若此时重新配置称为从机,又可以获取到主机的所有数据。这里就要提到一个同步原理。
默认情况下,主机故障后,不会出现新的主机,有两种方式可以产生新的主机:
- 从机手动执行命令slaveof no one,这样执行以后从机会独立出来成为一个主机使用哨兵模式(自动选举)
哨兵可以后台监控主机是否故障,如果主机故障了根据投票数自动将从机转为主机。
哨兵的核心配置
sentinel monitor mymaster 127.0.0.1 6379 1
数字1表示 :当哨兵主观认为主机断开后,只要有一个从机同意,就可以开始选举新的主机
哨兵模式优缺点
优点:
哨兵集群,基于主从复制模式,所有主从复制的优点,它都有
主从可以切换,故障可以转移,系统的可用性更好
哨兵模式是主从模式的升级,手动到自动,更加健壮
缺点:
Redis不好在线扩容,集群容量一旦达到上限,在线扩容就十分麻烦
实现哨兵模式的配置其实是很麻烦的,里面有很多配置项
级,手动到自动,更加健壮
缺点:
Redis不好在线扩容,集群容量一旦达到上限,在线扩容就十分麻烦
实现哨兵模式的配置其实是很麻烦的,里面有很多配置项



