redis主从复制、哨兵模式、cluster集群

主从复制:

概念

和mysql的主从复制类型一致,主可以写,写入主的数据通过RDB方式把数据同步到从服务器。从不能更新到主。是哨兵模式的基础

缺点:

不能实现故障自动化恢复,只有主能写

数据的复制是单向的,由主复制到从。

流程图:

部署过程:

1、做时间同步:yum -y install ntpdate

ntpdate ntp.aliyun.com

2、vim /etc/redis/6379.conf,配置文件

192.268.203.10 主 第70行0.0.0.0,700行开启持久化

192.268.203.20 从 第70行0.0.0.0,287行取消注释,目标地址主,700行开启持久化

192.268.203.30 从 第70行0.0.0.0,287行取消注释,目标地址主,700行开启持久化

3、重启服务:/etc/init.d/redis_6379 restart

哨兵模式:

概念:

故障自动化恢复,主从复制完成之后,从服务器会变成只读模式。

故障切换时,主故障变成从服务器,主变成从后,也进入只读模式。

缺点:

从节点一旦故障,读会受到影响

流程图:

部署过程:

基于主从复制基础上

1、进入配置文件

vim /opt/redis-5.0.7/sentinel.conf

第17行取消注释

第26行 yes开启

第36行

第65行

第84行

初始化监听,都是监听主,监听主服务器的状态

2对应的从服务器的数量以及投票的参与者,参与者要和从服务器的数量一致

2台服务器投票通过,出才能进行故障转移

sentinel monitor mymaster 192.168.203.10 6379 2

表示初始化监听,都是监听主,监听主服务器的状态

2 对应的从服务器的数量以及投票的参与者,参与者要和从服务器的数量一致

表示2台服务器投票通过,出才能进行故障转移

第113行:sentinel down-after-milliseconds mymaster 30000

表示 判断服务器宕机的时间周期,每30秒检测一次

第146行:sentinel failover-timeout mymaster 180000

表示 判断故障节点的超时的最大时间180秒

2、启动哨兵模式

redis-sentinel sentinel.conf &

先启动主,再启动从

3、查看哨兵模式

redis-cli -p 26379 info Sentinel

4、模拟故障实验

/etc/init.d/redis_6379 stop,停止主的服务

tail -f /var/log/sentinel.log,日志查看主转移到哪台服务器

cluster集群:

概念:

把每两台服务器作为主从模式,形成一个大的主从的集群。

解决了写操作的负载均衡,是较为完善的高可用方案

redis3.0之后的分布式存储方案

集群由多个节点组成,redis数据保存在这些节点

集群中的节点分为主和从

主负责读写以及维护集群的信息

从节点进行主节点数据的复制(也可以查)

缺点:

保证高可用,对数据的完整性要求不搞

redis集群的数据分片

在集群概念中,引用的是hash槽的概念

创建了集群就有16384个哈希槽

三个节点

主1:0-5460

主2:5461-10922

主3:10923-16383

节点当中,如果主和从全部失败,整个集群就不可用

部署过程:

redis集群不可以和哨兵模式共用

1、做时间同步:yum -y install ntpdate

ntpdate ntp.aliyun.com

2、进入redis配置文件

vim /etc/redis/6379.conf

第69行 注释掉

第88行 改为no,关闭保护模式

第699行  改为yes,开启持久化

第832、840、846行都取消注释

3、/etc/init.d/redis_6379 restart 重启服务

4、redis-cli -h 192.168.203.10 --cluster create 192.168.203.10:6379 192.168.203.11:6379 192.168.203.20:6379 192.168.203.12:6379 192.168.203.30:6379 192.168.203.13:6379 --cluster-replicas 1

-h 192.168.203.10:指集群的主连接点配置节点

--cluster create 192.168.203.10:6379 192.168.203.11:6379 192.168.203.20:6379 192.168.203.12:6379 192.168.203.30:6379 192.168.203.13:6379:前面为主,后面为从

--cluster-replicas 1:表示每个主只有一个从节点

最终的主从结果可能和自己设置的不一样,无妨

redis集群中moved不是报错,只是系统提示客户端到指定位置的哈希槽进行读或者写

系统提示啥就去哪个节点操作即可,这个节点是该节点的主

注意节点的哈希槽分配

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值