redis主从复制,哨兵模式

redis集群环境搭建

主从复制概念

主从复制是指,将一台redis服务器的数据复制到其他redis服务器。主节点(master)以写为主,从节点(slave)以读为主。
数据复制时单向的,只能从主节点到从节点。

主从复制的主要作用

数据冗余
故障恢复
负载均衡
高可用(集群)基石:主从复制是哨兵和集群能实施的基础

集群搭建

redis使用中,不能只用一台服务器的,原因如下:
1,从结构上,单个redis会发生单点故障问题,并且服务器处理所有请求,压力较大。读多写少,可以一主三从。
2,从容量上,单个reids容量有限,一台redis服务器不能将所有内存都用作reids存储内存,一般一台redis最大使用内存不应该超过20G。

步骤

增加几个不同的配置文件:
redis80.conf …
修改一下内容:
端口,pid名字,log文件名,dump.rdb文件名

启动三个redis-server服务,默认三个服务都是主节点,master

为辅节点配置主节点(这里我选6379为主节点):slaveof 127.0.0.1 6379
此时查看当前redis服务:info replicaiton

注:配置文件中修改是永久修改,而命令修改是临时修改

细节

主机负责写,从机负责读(从机不能写)。
主机断开连接时,从机依然连接到主机,但是依然没有写操作
主机恢复后,从机依然可以读到主机新写入的信息
从机断开后,主机检测不到从机,此时,如果使用命令行配置:重启后从机变成自己的主机,断开后的数据无法同步,从机重新连接主机后数据会重新写入;(两个专业名词:全量复制,增量复制)如果使用配置文件配置:从机重启后自动重连。

复制原理

slave启动后会向master发送一个sync同步命令
master接到后启动存盘进程,更新数据集后,将这个数据文件传到slave,完成一次完全同步
全量复制:slave接收到这个数据文件后,将其存盘并加载到内存
增量复制:master继续将新修改的命令传给slave完成同步
所以,slave重连时自动执行全量复制

宕机后手动配置主机

将从节点当作主节点的链式主从

比如79为主节点,80为79的从节点,81将主节点设为80,此时,80依然是从节点

但是如果79主机断开连接,80可以通过slaveof no one让自己变成主机,其他节点都可以连到最新节点。
此时看配置info replication就发现就算79主机回来,80依然是master.
我们现在手动配置,哨兵模式就是自动选举。

哨兵模式(自动选举模式)

当master宕机后,需要手动切换一台服务器,会造成一段时间的服务不可用(商业问题将会非常麻烦)。
redis2.8以后就有了。能够后台监控主机是否故障,如果故障了根据投票数自动将slave换成master。

哨兵是一个独立的进程,它的运行原理就是:通过发送命令,等待redis服务器响应,从而监控多个redis实例
redis-sentinel文件
哨兵的作用:
1,发送命令,监控redis服务器运行状态(包括master和slave)
2,当哨兵监测到master宕机,会通过发布订阅模式通知其他slave,修改配置文件,让slave切换成master
为了降低风险(一个哨兵监控redis可能会出现问题),我们使用多个哨兵监控。各个哨兵间还会进行互相监控,这样就形成了多哨兵模式。
当一个哨兵发现redis服务器宕机了,这个现象被称为主观下线。当一定数量的哨兵发现主redis宕机,则进行投票(由一个哨兵发起),进行failover(故障转移)操作。然后通过发布订阅模式将slave切换成master,这个过程称为客观下线。

实现

1.编写哨兵的配置文件sentinel.conf:

sentinel monitor myredis 127.0.0.1 6379 1

1代表1个哨兵sentinel同意,就可以开启failover
2。启动哨兵:

redis-sentinel sentinel.conf

3.哨兵会自行发送心跳包,就算源master修复,也只能是slave:

info replication

哨兵模式

优点

1,哨兵模式基于主从复制,所有的主从配置有点,它都有
2,主从可以切换,故障可以转移,可用性好
3,哨兵模式使主从复制从手动

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值