QPS限流:保护API的第一道防线
引言:QPS限流是最常用的限流方式 上一篇我们深入理解了限流算法的原理,现在让我们回到实战:如何用Sentinel保护你的API? 答案是:QPS限流(Queries Per Second,每秒查询数)。 为什么QPS限流最常用? 指标对比: QPS(每秒请求数): ✅ 直观易懂 ✅ 与业务指标对应 ✅ 方便压测和监控 并发线程数: ❌ 不直观(多少算多?) ❌ 与业务指标不对应 ❌ 难以设置合理阈值 今天我们将学习:QPS限流的配置方法、阈值设置技巧、压测验证、监控调优等实战内容。 一、QPS的概念与重要性 1.1 什么是QPS QPS(Queries Per Second):每秒查询数/请求数 1秒内收到100个请求 → QPS = 100 1秒内收到1000个请求 → QPS = 1000 QPS与其他指标的关系: QPS = 总请求数 / 时间(秒) 并发数 = QPS × 平均响应时间(秒) 例如:QPS=1000,RT=0.1s → 并发数 = 1000 × 0.1 = 100 吞吐量(TPS): 对于查询接口,TPS ≈ QPS 对于事务接口,1个TPS可能包含多个QPS 1.2 为什么要限制QPS 场景1:保护系统不被打垮 系统极限:QPS = 5000 流量洪峰:QPS = 10000 不限流: → 响应时间从50ms变成5000ms → 线程池耗尽 → 系统崩溃 限流到5000: → 拒绝5000个请求 → 保证5000个请求正常响应(50ms) → 系统稳定 场景2:公平分配资源 ...