🌱

329

一杯咖啡的时间,聊聊技术与成长

连载中 9/20

限流算法对比与选型:一张表定案

固定窗口、滑动窗口、漏桶、令牌桶,单机与分布式两组旋钮——限流篇的算法备齐了,本篇一张总表定选型,再用 503 咖啡馆的完整方案演示「混合使用才是常态」,顺带清算四个常见误区。

#限流选型#算法对比#混合部署#常见误区#容量阈值
2026-07-10 · 4184 阅读 · 0 评论 · 0 赞
连载中 8/20

多级限流:三层防线的额度分配

网关、应用、数据库各一道闸,但阈值不是随手拍——外层要略宽于内层,拒绝的对象各有分工:网关挡恶意,应用管配额,数据库做保险丝。额度分配错一层,整条防线就互相打架。

#多级限流#额度分配#削峰填谷#热点参数#容量规划#动态阈值
2026-07-09 · 2637 阅读 · 0 评论 · 0 赞
连载中 7/20

网关层限流:Nginx 与 Spring Cloud Gateway

闸门装在入口最划算:流量还没进业务就被拦下,省下的是整条链路的资源。Nginx 的漏桶匀速放行,Spring Cloud Gateway 的 Redis 令牌桶按维度发牌——但网关看不见业务上下文,粗与细要分层配合。

#网关限流#Nginx#limit_req#Spring Cloud Gateway#令牌桶#KeyResolver
2026-07-09 · 1431 阅读 · 0 评论 · 0 赞
连载中 6/20

分布式限流:Redis 加 Lua 的原子计数

计数器集中到 Redis,「读-判断-写」的竞态跟着一起搬了过去——老坑新填,还得 Lua。本篇把固定窗口、令牌桶、滑动窗口三个算法的 Redis 版一次讲透,顺带解决时间源统一与 Redis 故障时的放行策略。

#分布式限流#Redis#Lua#令牌桶#时钟统一#fail-open
2026-07-08 · 2198 阅读 · 0 评论 · 0 赞
连载中 5/20

单机限流落地:注解、AOP 与那些工程细节

算法备齐只是第一步,接进业务代码才有战斗力。手写 if 侵入太重,注解加切面才是工程正解:一个 @RateLimit 走天下,SpEL 动态拼 key,限流触发转友好提示,触发率指标上监控——四件套缺一不可。

#单机限流#注解#AOP#SpEL#限流异常#监控打点
2026-07-08 · 3817 阅读 · 0 评论 · 0 赞
连载中 4/20

漏桶与令牌桶:匀速与突发的两种哲学

滑动窗口数的是历史,漏桶与令牌桶管的是节奏。漏桶把流量剁成绝对匀速的水滴,令牌桶匀速发牌、允许攒额度打突发——一个做整形,一个做控制,Nginx 与 Guava 各站一队。

#漏桶#令牌桶#Guava#RateLimiter#流量整形#Nginx
2026-07-07 · 1539 阅读 · 0 评论 · 0 赞
连载中 3/20

滑动窗口:把突刺磨平

固定窗口的 2 倍临界突刺,病根在「格子是死的」——窗口边界成了流量的免检通道。滑动窗口让统计区间跟着时间走,或者把格子切细统计最近 N 格,突刺被平滑掉,代价是内存与计算的加价。

#滑动窗口#环形格子#ZSET#临界突刺#限流精度
2026-07-07 · 4361 阅读 · 0 评论 · 0 赞
连载中 2/20

限流第一课:固定窗口计数器

「下单接口每秒最多放 200 个」,这句话翻译成代码就是固定窗口计数器:按秒切格子,格子里数数,满了就拒。三行核心逻辑撑起第一道闸门,简单到不容易出错——但它有个藏在窗口边界里的坑。

#限流#固定窗口#计数器#Redis#Lua#阈值压测
2026-07-06 · 5623 阅读 · 0 评论 · 0 赞
连载中 1/20

爆单那天:雪崩是怎么发生的

周年庆半价日,10 点整活动上线,一分钟内 503 咖啡馆的系统从响应如飞到全站 502。慢查询打满连接池、线程排队堆积、不相关的服务连坐陪葬、重启再倒下——雪崩从来不是一瞬间的意外,是一条完整的灾难链。

#雪崩#过载#连接池#线程池#重试风暴#连坐
2026-07-06 · 3523 阅读 · 0 评论 · 0 赞