redis 主从 哨兵sentinel 集群 数据丢失解决方案对应

redis:三种集群 主从 哨兵sentinel 集群Cluster

redis:主从复制原理来源地址:

一.进行主备切换可能发生的问题

(1)异步复制导致的数据丢失

产生原因:在主从复制的过程当中,部分数据没有发送的slave,master就宕机,slave数据少于主节点
解决方案:
redis从2.8版本开始使用PSYNC命令代替SYNC命令来执行复制时的同步操作。PSYNC命令可分为全量同步(full resynchronization)和增量同步(partial resynchronization)
redis自带俩种复制方式保证 主节点和从节点数据一致性
全量同步:用于初次复制的情况,slave发送PSYNC命令到master,master创建并发送RDB文件及缓冲区里的写命令给slave。
增量同步:用于网络中断等情况后的复制,只将中断期间master执行的写命令发送给从节点,与全量同步相比更加高效。需要注意的是,如果网络中断时间过长,导致master没有能够完整地保存中断期间执行的写命令,则无法进行增量同步,仍需要全量同步

(2)脑裂导致的数据丢失

脑裂导致数据丢失详细解决方案链接

产生原因:某个master节点脱离正常的网络环境,哨兵误以为master节点宕机,重新选举slave为master,此时集群中会产生2个master,此时client还未切换到新的master节点,还会继续往老的master节点写数据,新写入的数据同步不上新master节点导致数据丢失

二.解决方案:
min-slaves-to-write 1
min-slaves-max-lag 10
min-slaves-to-write 表示要求至少有1个slave,
min-slaves-max-lag 表示数据复制和同步的延迟不能超过10秒(即slave超过10秒未给master ack消息,将采取措施)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Redis 主从哨兵集群是一种高可用的解决方案,它使用哨兵Sentinel)来监控和管理主从节点。哨兵会自动检测并切换故障的主节点,保证服务的连续性。以下是在 shell 中部署 Redis 主从哨兵集群的基本步骤: 1. **安装 RedisSentinel**: - 首先,确保你的系统已经安装了 Redis,如果没有,可以使用包管理器(如 apt-get 或 yum)安装。 - 安装 Sentinel,一般可以通过 Redis 的官方发行版或单独下载源码编译安装。 2. **配置 Sentinel**: - 在每个 Sentinel 服务器上编辑 `sentinel.conf` 文件,设置监听地址、集群名、哨兵角色等配置。例如: ``` sentinel monitor mycluster master 26379 2 10 ``` 这里 `mycluster` 是集群名称,`master` 是主节点的角色,`26379` 是主节点的端口,`2` 是当有多于两个 Sentinel 观察到主节点失败的投票数,`10` 是在主节点失败后等待其他 Sentinel 同意切换间(秒)。 3. **配置主从节点**: - 对于主节点,设置 `protected-mode no`,允许外部客户端连接。 - 对于从节点,配置 `slaveof` 指令指向主节点,如: ``` redis-server --slaveof <master_ip> <master_port> ``` 4. **启动 RedisSentinel**: - 以守护进程模式启动 Redis 服务器,并指定 `sentinel` 插件,例如: ``` redis-server --sentinel <your_server_ip>:26379 ``` - 同样启动 Sentinel,监听不同的端口,如 `redis-server --sentinel` 5. **验证集群健康**: - 使用 Redis 命令行客户端 `redis-cli` 或者 `sentinel get-master-addr-by-name mycluster` 来检查哨兵是否能获取到正确的主节点地址。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值