图片生成接口选型,先看队列形状再看样图

前面挂的提示词安全网关能扛 40 QPS,后面渲染只有 12 QPS,这时候进来 30 QPS,你猜监控上会看到什么?

网关的 p95 一直很好看。可队列每秒多堆 18 个任务,一分钟就是一千多个还没开跑、就已经注定超时的活。只盯网关延迟和 HTTP 状态的话,整场事故看起来像客户端的锅。真正该盯的是队列年龄,不是 CPU 利用率。

接口契约上再记几条:

  • 模型返回的 JSON 当不可信输入,本地再校验一遍
  • 超时和解析失败一律 fail-closed,别偷偷把原提示词放给渲染,不然安全层会在系统最不健康的时候变成一笔延迟税
  • 任务 ID 在重试里必须复用,否则一次超时就变成两份昂贵的渲染
  • 重试语义照 RFC 9110 那套来,原文在 rfc-editor 上就有

选型阶段我不急着写适配器,先在 https://pixpix.com 上拿业务里真实的提示词把候选模型各跑一批。出图这关过不去,契约谈得再细也白搭。

队列年龄这个指标太多人不做,全靠 CPU 和错误率报警,等报出来早凉透了。

好家伙

fail-closed 得写进规范,我见过太多网关一挂就默认放行的。

1 个赞

还有个坑是异步回调重放,两条完成消息能把同一个任务 release 两次。