摘要:
概要 当redis集群的主节点故障时,Sentinel集群将从剩余的从节点中选举一个新的主节点,有以下步骤: 故障节点主观下线 故障节点客观下线 Sentinel集群选举Leader Sentinel Leader决定新主节点 选举过程 主观下线 Sentinel集群的每一个Sentinel节点会定 阅读全文
摘要:
引言 系统中修改已有数据时,需要先读取,然后进行修改保存,此时很容易遇到并发问题。由于修改和保存不是原子操作,在并发场景下,部分对数据的操作可能会丢失。 在单服务器系统我们常用本地锁来避免并发带来的问题,然而,当服务采用集群方式部署时,本地锁无法在多个服务器之间生效,这时候保证数据的一致性就需要分布 阅读全文
摘要:
1. Redis 的击穿,穿透,雪崩 1.1 Redis 击穿 产生原因:在高并发的情况下,在某一时间点,在高频获取的key在此时过期,大量请求直接请求到服务器上,导致缓存击穿 解决方案: 可以将热点数据设置为永远不过期; 基于 redis or zookeeper 实现互斥锁,等待第一个请求构建完 阅读全文
摘要:
1.单节点redis的缺陷 单点故障导致服务不可用 redis的容量优先 redis的服务压力 2. 集群的AKF原则 AKF原则 x轴:全量,镜像 Y轴:业务,功能 Z轴:优先级,逻辑再拆分 2.1 redis使用AKF原则扩展为集群产生的问题 通过AKF一变多 :数据一致性问题 X轴:redis 阅读全文
摘要:
1. redis的持久化方式 RDB持久化 原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化 AOF持久化 原理是将Reids的操作日志以追加的方式写入文件 两种持久化方式区别 二者选择的标准,就是看系统是愿意牺牲一些性能,换取更高的缓存一致性(aof),还是愿意写操作频繁的 阅读全文