高并发场景下直接调用大模型API会遇到限流和响应慢的问题。消息队列解耦请求和响应,用户提交任务后立即返回,后台处理完再通知。

架构设计

用户请求到API网关,网关推送到Redis或RabbitMQ队列,Worker消费任务并调用大模型推理,结果存储后通过回调或WebSocket通知用户。

Redis队列实现

import redis和json模块,API端用lpush把任务推入队列,Worker端用brpop阻塞消费,处理完结果写回Redis设置过期时间。

优势

削峰填谷应对流量高峰。失败自动重试。优先级队列让付费用户优先。Worker水平扩展。

适用场景

耗时超过5秒的任务适合异步处理。批量文档处理、长文生成、复杂推理都是好场景。即时对话仍用同步SSE流式输出。