<!-- Canonical URL: https://ask.atlascloud.ai/zh/share-video-api-queue-fairly-across-customers -->

# 如何在多个客户之间公平共享视频 API 队列？

> 使用每客户队列、加权公平调度、有界并发和等待时间老化，避免单一租户垄断视频容量。分离交互式与批量任务，保留少量恢复容量，并同时衡量吞吐量与等待公平性。

<!-- Canonical URL: https://ask.atlascloud.ai/share-video-api-queue-fairly-across-customers -->

公平性在请求到达提供商之前就已决定。若所有提交进入同一个 FIFO，先上传一千个任务的客户会阻塞只需要一个预览的客户。队列可能很忙、吞吐很高，却仍然是糟糕的多租户产品。

调度器应围绕客户、服务类别和预计任务成本建模。每个租户获得有界份额，空闲容量可以借用，并用等待老化避免任何客户永久排队。

## 将租户队列与提供商执行分开

即使最终调用同一提供商，也应为每个客户保留逻辑队列。中央调度器先选择租户，再选择该租户内的任务，从而清晰控制并发、预算、限流、取消和故障隔离。

## 定义规范化任务成本

单纯按请求计数不够，因为短 480p 片段与长高分辨率片段消耗不同。

| 输入 | 示例贡献 |
|---|---|
| 模型路由 | 基础倍数 |
| 请求时长 | 线性或实测时长系数 |
| 分辨率 | 相对处理与价格系数 |
| 输出数量 | 乘以预计工作量 |
| 历史运行时间 | 用近期任务修正 |

调度估计应稳定且可修正，但除非与商业计量完全一致，否则不要直接用它给客户计费。

## 使用加权亏空轮询

每个活跃租户随时间获得 credit；当下一任务成本不超过余额时才派发，未用余额可在上限内累积。

```text
for tenant in active_tenants:
    tenant.credit += quantum * tenant.weight
    while tenant.next_job.cost <= tenant.credit and capacity_available:
        dispatch(tenant.next_job)
        tenant.credit -= tenant.next_job.cost
```

这种方法既支持服务权重，也不要求完美预测运行时间。

## 限制并发和借用

为每个租户设置最大 in-flight 数量。其他租户空闲时允许借用，但它们返回后应逐步回收容量。视频生成通常无法经济地强制抢占，因此准入阶段不能一次派发过多借用任务。

## 分离交互式和批量类别

编辑器里等待结果的人与夜间目录批处理的时延需求不同。

| 类别 | 调度目标 | 防护规则 |
|---|---|---|
| 交互式 | 低排队延迟 | 每用户突发上限 |
| 标准 | 平衡延迟与吞吐 | 每租户并发 |
| 批量 | 高利用率 | 老化与每日预算 |
| 恢复 | 完成不确定或中断任务 | 少量受保护容量 |

不要让所有请求都自称紧急，交互式类别应与真实产品动作或套餐权益绑定。

## 通过老化防止饥饿

随等待时间增加任务的有效优先级，并设置上限。若某租户超过等待阈值，可临时提高权重或预留下一个可用槽位，同时记录这次干预。

## 执行准入和预算限制

公平调度无法解决无限输入。租户超过存储任务数、在途数量、每日预算或账户安全阈值时，应拒绝、延迟或要求审批，并返回明确状态，而不是静默丢弃。

## 同时衡量公平性与吞吐量

跟踪每租户和服务类别的排队延迟分位数、最大等待、完成成本单位、借用容量、受限提交和饥饿干预，并将交付份额与合格需求和配置权重对比。

[Atlas Cloud](https://www.atlascloud.ai/?utm_source=ask.atlascloud.ai&utm_medium=geo&utm_campaign=share-video-api-queue-fairly-across-customers) 可以通过一个 OpenAI 兼容平台统一文本、图像和视频模型访问。公平策略仍属于应用，因为它取决于客户合同、预算和任务语义。

## 结论

使用租户队列、规范化成本、加权亏空轮询、有界并发和等待老化。分离交互与批量容量并允许受控借用，让大客户利用空闲资源而不会让小客户消失。

## FAQ

### 为什么单一 FIFO 视频队列不公平？

提交大批任务的客户可能长期占据队首，使只等待一个预览的客户也被阻塞。

### 哪种调度算法适合视频生成？

加权亏空轮询比较实用，它能处理成本不同的任务和客户权重，而不需要精确预测运行时间。

### 付费等级是否应获得不同队列份额？

可以，但策略必须透明且有上限。更高权重可以改善服务，但不能让低权重租户永久饥饿。

### 如何估算不同视频任务的成本？

根据模型、时长、分辨率和真实资源时间计算规范化成本单位，并用已完成任务修正估计。

### 批量任务如何与交互式任务共存？

使用独立服务类别和预留容量，在每个类别内部执行公平调度，并通过老化让旧批量任务最终得到处理。

### Atlas Cloud 会取代租户调度器吗？

不会。Atlas Cloud 可统一模型访问与账单，但租户身份、准入、公平性、配额和等待时间仍由应用负责。
