Redis--Lua 脚本原子性与滑动窗口限流
Lua 核心特性多条 Redis 命令封装在 Lua 中发送服务端完整执行完所有指令才会处理下一条请求天然原子性无需额外加锁。滑动窗口限流原理把一段时间切分成多个小时间片实时统计每个分片内请求数量超出阈值直接拦截相比漏桶、令牌桶流量管控更平滑不会出现瞬间突刺流量全部放行。Redis Lua 滑动窗口限流 VS Sentinel 限流 / 熔断对比Redis 滑动窗口限流管控粒度用户维度手机号、渠道 id精准限制单个用户操作频次偏向业务防刷、配额管控层级业务层依赖 Redis 中间件分布式环境所有服务计数统一短板仅能限流下游服务超时、异常无法处理存在网络开销Sentinel 限流熔断管控粒度接口、服务整体 QPS、并发线程数保护整个服务特有能力熔断下游报错 / 超时达到阈值直接切断调用快速失败解决服务雪崩层级应用本地无需中间件实时监控服务健康状态小总结Lua 相当于把一堆 Redis 操作打包一次性执行中途不会被别的请求插队计数不会错乱。滑动窗口就是拆分时间统计流量不会一下子放过大量请求。两者限流分工不一样Redis 管单个用户防止同一个人疯狂刷短信Sentinel 管整个接口防止海量请求打垮服务下游短信服务挂了还能熔断止损。Lua 原子不中断滑动窗口 分片统计流量Redis 管用户配额Sentinel 管服务防护附Sentinel 热点参数限流 VS Redis Lua 限流Sentinel 热点参数限流有严重单机偏差分布式集群场景计数不准 Sentinel 的热点计数器存在当前应用内存里不是全局共享。Sentinel 热点限流能力有限只能做简单 QPS 拦截做不了复杂业务统计。Sentinel 热点限流没有持久化重启实例统计全部丢失。Redis Lua 滑动窗口限流业务配额防刷定位业务层分布式配额管控管「单个用户 / 渠道能操作多少次」数据存储Redis 全局共享集群多实例计数统一无误差能力可做日 / 小时 / 分钟多维度计数、持久化留存记录、复杂业务规则每日上限、剩余条数短板只能限流没有熔断、降级、服务健康监控能力下游短信服务超时它管不了举例限制单个手机号一天最多发 50 条营销短信防止恶意批量刷短信Sentinel 热点参数限流单机接口流量防护定位应用本地服务保护辅助拦截突发热点流量核心能力是熔断降级数据存储当前实例内存分布式集群统计失真无法精准管控用户全局配额特有能力熔断、超时降级、系统负载保护、监控下游服务状态短板计数不全局统一、数据不落地不能做长期业务配额统计举例某个手机号瞬间 1 秒 100 次请求临时拦截突刺流量第三方短信服务超时直接熔断Redis Lua 分布式限流 Sentinel 热点参数限流 分层协作方案第一层Sentinel 本地热点限流快速拦截无网络开销请求进入接口先经过 Sentinel 热点参数规则针对手机号 / 渠道 ID 做单机瞬时 QPS 拦截。作用瞬间打爆接口的恶意高频请求直接在本机内存拦截不用走 Redis 网络 IO减轻 Redis 压力局限多实例集群计数分开统计无法管控全局总次数仅做瞬时流量拦截。第二层Redis Lua 滑动窗口分布式限流全局精准业务配额校验Sentinel 放行后再执行 Redis Lua 脚本做全局限流统计。作用Redis 全局统一计数所有服务实例共享同一套统计数据精确管控单用户分钟 / 小时 / 每日发送上限补充Lua 原子执行计数、清理过期窗口一步完成不会出现并发计数错乱。第三层Sentinel 熔断 / 降级兜底下游故障防护限流全部通过后调用第三方短信服务商接口Sentinel 监控调用成功率、响应耗时下游超时 / 报错比例超标 → 触发熔断直接返回降级提示不再调用第三方防止服务线程耗尽引发服务雪崩。双组件分工互补逻辑Sentinel 热点参数限流 本机瞬时流量防火墙优势本地内存计算速度极快扛住突发脉冲流量短板集群计数不准、无持久化、不能做长期业务配额。Redis Lua 滑动窗口限流 分布式业务配额管控核心优势全局统一计数、支持多时间维度统计、数据持久化留存满足风控对账短板存在 Redis 网络开销超高并发下会增加少量延迟。故障降级兼容方案生产必备如果 Redis 集群宕机、网络不通捕获 Redis 异常后临时降级为仅依靠 Sentinel 热点限流保障服务可用Redis 恢复后自动切回两层限流完整逻辑同时异步补偿丢失的计数日志保证业务统计最终准确。Sentinel 热点限流管一瞬间猛刷Redis 管一整天能发多少熔断管第三方通道挂了怎么办。

相关新闻

嵌入式系统PRCM模块配置实战:时钟管理与低功耗设计

嵌入式系统PRCM模块配置实战:时钟管理与低功耗设计

1. PRCM模块:嵌入式系统的“心脏”与“脉搏”在嵌入式系统,尤其是复杂的SoC设计中,电源、复位和时钟管理模块,也就是我们常说的PRCM,其地位堪比整个系统的“心脏”和“脉搏”。它远不止是一个简单的开关或分频器&#…

2026/11/9 3:37:02 阅读更多 →
ConvertOneNote2MarkDown与Obsidian无缝对接:打造你的个人知识管理系统

ConvertOneNote2MarkDown与Obsidian无缝对接:打造你的个人知识管理系统

ConvertOneNote2MarkDown与Obsidian无缝对接:打造你的个人知识管理系统 【免费下载链接】ConvertOneNote2MarkDown Ready to make the step to Markdown and saying farewell to your OneNote, EverNote or whatever proprietary note taking tool you are using? …

2026/10/30 4:16:24 阅读更多 →
C#中的泛型

C#中的泛型

泛型是一种对变量类型的参数化,在定义类,接口或方法时,在名称后用一个泛型占位符来代替想要被指定的变量类型,在实际用到的时候,就可以自主的来指定该变量类型。 泛型类,泛型接口与泛型函数中的泛型占位符可…

2026/11/12 4:38:13 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/14 5:13:29 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/14 5:13:29 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/14 5:13:29 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/13 22:08:41 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/14 2:41:37 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/14 5:13:29 阅读更多 →

日新闻

周新闻

月新闻