用asyncio重构Flask API:并发查询从2.1s降到0.3s的完整记录
在压测一个基于Flask+Requests的聚合查询接口时,发现当上游三个微服务响应分别为800ms、600ms、700ms时,接口总耗时高达2.1秒——因为代码是串行调用。本文记录用asyncio+httpx替代Requests的完整改造过程,包含before/after代码、asyncio.run与gather的正确用法、以及一个容易踩的loop闭包陷阱。改造后接口P95从2.1s降至0.31

Developer,关注技术原理与工程落地,技术方向以软件开发为主。持续整理开发效率提升、项目复盘和可复用的工程方法;希望内容既讲清为什么,也说明怎么做。