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

# 複数顧客で動画APIキューを公平に共有するには？

> 顧客別キュー、重み付き公平スケジューリング、同時実行上限、エージングを組み合わせます。対話処理とバッチ処理を分け、待ち時間と処理量の両方を測定します。

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

単一FIFOでは、先に入った大量バッチが一件のプレビューを待つ顧客まで塞ぎます。公平性はプロバイダーへ送る前に設計します。

## テナントキューとプロバイダー実行を分離する

顧客ごとに論理キューを持ち、中央スケジューラーが顧客を選んでからジョブを選びます。

## 正規化したジョブコストを定義する

| 入力 | コストへの反映 |
|---|---|
| モデル | 基準倍率 |
| 尺 | 時間係数 |
| 解像度 | 処理・価格係数 |
| 出力数 | 作業量を乗算 |
| 実測時間 | 直近データで補正 |

## 重み付きDeficit Round Robinを使う

```text
tenant.credit += quantum * tenant.weight
if next_job.cost <= tenant.credit: dispatch(next_job)
```

未使用クレジットを上限付きで繰り越せば、実行時間を完全に予測せずに異なるコストを扱えます。

## 同時実行と借用を制限する

テナントごとに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) でモデルアクセスを統合しても、契約と公平性の方針はアプリ側に残ります。

## 結論

顧客別キュー、正規化コスト、重み、同時実行上限、エージングを使い、小規模顧客を消さずに空き容量を活用します。

## FAQ

### 単一FIFOが不公平な理由は？

大口顧客の大量ジョブが先頭を占め、小さな対話要求を長時間待たせるためです。

### 適したアルゴリズムは？

コストの異なるジョブを扱える重み付きDeficit Round Robinが実用的です。

### 有料プランに異なる重みを付けられますか？

はい。ただし方針を明示し、低い重みの顧客が飢餓状態にならない上限を設けます。

### ジョブコストはどう見積もりますか？

モデル、尺、解像度、出力数、実測処理時間を正規化します。

### バッチと対話処理を共存させるには？

クラス別の予約容量とエージングを使います。

### Atlas Cloudがテナントスケジューラーを代替しますか？

いいえ。アクセスを統合しても、公平性、予算、割当はアプリ側の責任です。
