Files
slide/decks/gen2D/pages/request-journey.md
T
wonder f3abc5fdc6
Deploy Slides / build-and-deploy (push) Successful in 1m39s
fix: split overflowing slides to fit frankfurt theme header/footer bars
- eino-deep-dive.md: split slide 2 into code-only + explanation+SVG slides
- async-deep-dive.md: split slide 2 into code-only + progress+SVG slides
- harness.md: split slide 2 (4 Items + SVG) into two slides (2 Items each)
- request-journey.md: split into middleware/handler + pipeline/finalization slides

The frankfurt theme header (~40px) overlaps ~7px into the content zone,
leaving ~467px effective height. Dense slides with code+Items+images
exceeded this budget and were hidden behind the bars.
2026-05-31 00:01:33 +08:00

1.3 KiB
Raw Blame History

一次请求的完整旅程

从 HTTP 到像素 — 追踪一个生成请求的全链路

POST /api/v1/generate  {prompt: "像素风骑士", assetType: "sprite", style: {artStyle: "pixel"}}
JWT 认证 → 解析 userID → 用户级限流(Redis Lua)→ 全局限流 → 放行 参数校验 → 去重检查 → 创建 Task(DB 写入)→ 入队 TaskQueue → 返回 `taskId`

请求旅程 — 管线执行与收尾

耗时集中在管线阶段(~30s 占 95%)

goroutine 取任务 → PromptOptimizer → AssetGenerator → QualitySupervisor(可能重试)→ FormatAdapter(精灵表 + GIF) 上传七牛云 Kodo → 写入 Asset 表 → 更新 Task 完成 → WebSocket 推送
全程异步:前端拿到 taskId 后通过 WebSocket 实时监听进度变化