Home

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

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

HTTP Graceful Cancelation

Imagine we are writing an HTTP server as described below, where the endpoint takes a long time to complete. When a client starts a request, it may cancel it before the long-running task is completed.

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

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

Rate Limiter In Action

The backend systems which have lots of request per second always need a local rate limiter to protect themself. Which “local” means that this rate limiter worked in only this process and not shared wi

Me and My Game Life

Video Games: A Lifelong Journey Video games have been a significant part of my life. Recently, I completed “The Witcher 3: Wild Hunt,” renowned as one of the world’s most famous RPGs. Although I love

MySQL InnoDB Locks

InnoDB is a storage engine for MySQL.After more than ten years of development, InnoDB has becomed the most common storage engine in Internet compony usages. There are lots of articles talk over the l

给 Markdown 程序员的写作能力提升指南

前言最近完成了一次多次打磨的技术分享,在准备分享和进行分享的过程中,遇到了很多问题,而造成这些问题的根源,就是自己日渐低下的写作水平和表达能力。 在本篇文章中,我会先基于自己的看法,分析写作能力对程序员的作用,然后基于自己的参考和实践,给出一个比较标准的程序员写作的套路,最后给出一些常用的辅助程序员写作的软件,并分析这些软件的特点。 写作能力真的有用吗很多工科的学生会认为写作能力对个人水平的提升没

自我时间管理

Overview现在开始尝试一个更规范的自我时间管理机制。新的机制主要由三个工具支撑,番茄土豆、坚果云,VSCode。番茄土豆主要用于管理细碎的时间和待办事项,坚果云用于存储更宏观的计划和日志,而 VSCode 用于管理坚果云的文件。 制定 OKR每两个月需要制定一次个人 OKR,落实到 okr.md 文件。为了聚焦,Objective 一般定义为三个以内。Objective 需要定义 Key