后端工程

异步、并发与背压:AI 后端必修课

理解 I/O 并发、连接池、任务队列和限流,避免模型服务被慢请求拖垮。

必须掌握并发可靠性

AI 请求通常同时依赖模型、检索和工具,延迟长且波动大。异步只解决等待期间不阻塞线程,并不会自动增加下游容量。

四个概念

  1. 并发:多个任务在相同时间段推进。
  2. 并行:多个任务同时占用计算资源。
  3. 背压:下游饱和时限制上游继续提交。
  4. 隔离:为模型、数据库和外部工具设置独立并发上限。

实践规则

  • I/O 调用使用异步客户端;CPU 密集工作进入进程池或独立服务。
  • 数据库和 HTTP 客户端复用连接池,池大小必须与下游容量匹配。
  • 用信号量限制昂贵模型调用,用有界队列吸收短时突发。
  • 重试只用于暂时故障,并配合指数退避、随机抖动和总时间预算。
  • 客户端断开后传播取消信号,避免幽灵任务继续消耗 Token。

可复现实验

对一个模拟 800ms 上游接口分别测试串行、无限并发、并发上限 10。记录吞吐、P50、P95、错误率和在途任务数。逐步缩小下游容量,观察背压何时生效。

判断系统是否健康,要看尾延迟和排队长度,不能只看平均响应时间。