Tag: Chinese

HTTP 请求的优雅取消(Graceful Cancellation)

我们经常会写一些“很慢”的 HTTP 接口:比如触发导出、跑一段复杂计算、调用外部服务、或者生成大文件。 问题在于:客户端可能在任务完成前就取消了请求(关闭页面、点了取消、网络切换、超时等)。 那服务端能不能“及时知道”客户端已经取消?如果能知道,就可以尽早停止后续的昂贵操作,省 CPU/IO/下游资源。 这篇文章用一个简单的 Go + Gin 示例,把常见场景拆开说清楚: 不经过 Nginx:

本地限流器实战:四种经典算法与实现思路

高 QPS 的后端服务,几乎一定需要“限流”(Rate Limiting)。 这里讨论的是本地限流器(local rate limiter):限流状态只存在于单个进程/单个实例中,不和其他实例共享。 它的目标很朴素: 在流量突增时保护服务自身(CPU/线程池/DB 连接/下游依赖) 让系统吞吐更可控,避免被瞬时尖峰打穿 本地限流最常见的四种算法: 固定窗口(Fixed Window) 滑动窗