redis 主从


这里说的是一主多从,只能解决单点故障问题,无法解决容量和访问压力问题

主从复制的原理

主节点将同步文件(rdb)以某种方式(落盘然后发送或直接网络)发送到从节点,从节点如果有老数据就直接flush掉,再通过接收的文件同步

1、运行时配置

比如有三台redis实例:6379、6380、6381。以6379端口为master
在6380和6381上执行:

replicaof ip 6379

这样6380和6381就成为了6379的从节点
如果master挂了

通过replicaof none使某个从节点变为master

主节点是知道有哪些从节点的

2、配置文件配置

配置文件有很丰富的关于主从的配置
replicaof <masterip> <masterport> 设置master端的IP与端口信息
replica-read-only yes 从节点是否只读(默认yes)
replica-serve-stale-data yes 主从复制是通过发送同步文件到从节点,从节点接收到文件后flush老数据再同步新数据,那么在接收同步文件的过程中是否提供老数据的访问
repl-backlog-size 1mb 当一个slave要重连时,不需要完全同步的,执行局部同步就足够。设置的越大,失连的时间越长
min-slaves-to-write 3
min-slaves-max-lag 10 当一个master端的可用slave少于3个,延迟时间大于10秒时,不接收写操作
repl-diskless-sync no 是否使用落盘再发送到从节点同步

3、哨兵sentinel

前面如果master挂了,要通过人工重新选一个master。哨兵可以解决这一问题,哨兵也是一个redis进程
启动方式

1、redis-server 哨兵配置文件 --sentinel
2、redis-sentinel 哨兵配置文件

配置文件

sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 60000
sentinel failover-timeout mymaster 180000
sentinel parallel-syncs mymaster 1

sentinel monitor resque 192.168.1.3 6380 4
sentinel down-after-milliseconds resque 10000
sentinel failover-timeout resque 180000
sentinel parallel-syncs resque 5

sentinel monitor mymaster 127.0.0.1 6379 2 哨兵监控的redis实例 2是指如果有三台哨兵监控这一个redis示例,必须要有2台哨兵以上判定为失效才会自动故障迁移
down-after-milliseconds 选项指定了 Sentinel 认为服务器已经断线所需的毫秒数
重新选举master
当当前mster被判定为失效,sentinel会从从节点中选出一个作为master
sentinel如何知道master有哪些从节点 master是知道有哪些从节点的
选举mster时如何知道其他的sentinel 发布订阅(sentinel:hello)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值