redis的主从复制,哨兵模式

1.主从复制

主从复制:主从复制是redis实现高可用的基础,哨兵模式和集群都是在主从复制的基础之上实现高可用

主从复制实现数据的多机备份,以及读写分离(主服务器负责写,从服务器只能读)

缺陷:故障无法自动恢复,需要人工干预,写操作的负载均衡。

2.主从复制的工作原理

  slave向主发送一个syn command,请求和主节点建立连接

  主节点收到请求之后,他不管slave是第一次连接还是重新连接,主节点都会启动一个后台进程,执行BGSAVE,主节点会把所有修改数据记录的命令加载到缓存和数据文件之中

  数据文件创建完毕之后,master把数据文件传送给slave,slave会把这个数据文件,先保存到硬盘,然后再加载到内存

3.主从复制的实验

192.168.233.7 主

192.168.233.8 从1

192.168.233.9 从2

所有

systemctl stop firewalld

setenforce 0

vim /etc/redis/6379.conf

70行

137行

700gg

/etc/init.d/redis_6379 restart

从1 从2

vim /etc/redis/6379.conf

70gg

288gg

701gg

/etc/init.d/redis_6379 restart

tail -f /var/log/redis_6379.log

测试

主,从

redis-cli

主:

keys *

set test1

从1,2:

keys *

get test1

从:

set test2 2

主:

redis-cli info replication

从1:

/etc/init.d/redis_6379 stop

redis-cli info replication

4.哨兵模式

哨兵模式:先有主从再有哨兵。在主从复制的基础之上,实现主节点故障的自动切换

4.1 哨兵模式的原理

哨兵:是一个分布式系统,用于在主从结构之间,对每台redis的服务器进行监控。

主节点出现故障时,从节点通过投票的方式选择一个新的master

哨兵模式也需要至少三个节点

工作流程:

每个哨兵节点每隔一秒,通过ping命令方式,检测主从之间的心跳线。主节点在一定时间内没有回复或者回复了错误的消息,这个时候,哨兵就会把主观的任务主节点下线了,超过半数的哨兵节点认为主节点下线了,这个时候才会认为主节点是客观下线。

你可能感兴趣的:(redis,数据库,缓存)