redis-sentinel
Redis sentinel
2023-09-27 14:28:06 时间
sentinel是redis用于实现高可用的方案,通过部署一个sentinel集群,sentinel集群负责监控指定的redis master和slave的状态,并在master挂的时候自动切换主从,从而保证缓存服务的高可用。
那么sentinel是如何实现的呢?
1、sentinel启动的时候会指定需要监控的redis master,这里需要注意,是不需要指定redis slave的,因为sentinel可以通过master查询到它的所有slave。
2、然后sentinel会定时想所有的redis master、slave发送ping命令,redis master、slave收到ping命令后会回复pong命令,sentinel就是根据这个来判断redis master、slave是否处于正常状态的。
3、当一段时间(可以配置,一般30s)没有收到redis master的回复时,sentinel就认为redis master挂了,并将redis master标记为主观下线(后续还有与之对应的客观下线)。
4、当超过指定阈值的sentinel都认为redis master挂掉了,sentinel就会选择出来一个leader来处理redis的主从切换。
5、选择一个保留有最新数据的redis slave,将其设置为mater,并将其他redis slave的master改为新的master。
sentinel可能存在的问题:
1、由于redis主从同步是异步的方式,所以当发生主从切换的时候还是有可能造成数据丢失的。
相关文章
- Redis replication以及master持久化对主从架构的安全意义
- Redis:我是如何与客户端进行通信的
- redis 中文字符显示
- 关于 Redis 访问安全性的问题
- 深入理解Redis Cluster
- 在Redis Sentinel环境下,jedis该如何配置
- Redis容灾部署(哨兵Sentinel)
- Redis学习笔记之Redis单机,伪集群,Sentinel主从复制的安装和配置
- Redis Cluster高可用集群在线迁移操作记录
- Redis-rdb-tools与rdr工具学习与使用
- 基于Redis的分布式锁真的安全吗?
- 基于redis分布式缓存实现
- codis实现redis分片和在线扩展【备忘】
- Redis源码之——键过期策略源码解析(惰性删除+定期取样删除)
- Windows下Redis中RedisQFork位置调整
- Linux redis-Sentinel配置
- Redis发布订阅和应用场景
- redis sentinel集群