Redis 原子计数在主从切换时丢数,我们靠 Lua 脚本加本地缓存兜住了那波被放行的流量
凌晨Redis主从切换导致限流器失效,3秒内多放行近4000请求。问题根源是INCR异步复制导致数据丢失。解决方案分两层:Lua脚本在计数达阈值80%时写入兜底标记key;本地Caffeine缓存异常时接管限流,通过悲观估算控制误放率。压测显示方案将超限从3.2倍降至12%,上线后经历多次故障均未触发告警。
共 1 篇文章
凌晨Redis主从切换导致限流器失效,3秒内多放行近4000请求。问题根源是INCR异步复制导致数据丢失。解决方案分两层:Lua脚本在计数达阈值80%时写入兜底标记key;本地Caffeine缓存异常时接管限流,通过悲观估算控制误放率。压测显示方案将超限从3.2倍降至12%,上线后经历多次故障均未触发告警。