后端工程
异步、并发与背压:AI 后端必修课
理解 I/O 并发、连接池、任务队列和限流,避免模型服务被慢请求拖垮。
必须掌握并发可靠性
AI 请求通常同时依赖模型、检索和工具,延迟长且波动大。异步只解决等待期间不阻塞线程,并不会自动增加下游容量。
四个概念
- 并发:多个任务在相同时间段推进。
- 并行:多个任务同时占用计算资源。
- 背压:下游饱和时限制上游继续提交。
- 隔离:为模型、数据库和外部工具设置独立并发上限。
实践规则
- I/O 调用使用异步客户端;CPU 密集工作进入进程池或独立服务。
- 数据库和 HTTP 客户端复用连接池,池大小必须与下游容量匹配。
- 用信号量限制昂贵模型调用,用有界队列吸收短时突发。
- 重试只用于暂时故障,并配合指数退避、随机抖动和总时间预算。
- 客户端断开后传播取消信号,避免幽灵任务继续消耗 Token。
可复现实验
对一个模拟 800ms 上游接口分别测试串行、无限并发、并发上限 10。记录吞吐、P50、P95、错误率和在途任务数。逐步缩小下游容量,观察背压何时生效。
判断系统是否健康,要看尾延迟和排队长度,不能只看平均响应时间。