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

# 여러 고객이 동영상 API 큐를 공정하게 공유하려면 어떻게 해야 하나요?

> 고객별 큐, 가중 공정 스케줄링, 동시성 제한, 에이징을 사용하세요. 대화형 작업과 배치를 분리하고 처리량과 대기 공정성을 함께 측정합니다.

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

하나의 FIFO에서는 먼저 들어온 큰 배치가 미리보기 하나를 기다리는 고객까지 막습니다. 공정성은 제공자 호출 전에 설계해야 합니다.

## 테넌트 큐와 제공자 실행 분리하기

고객별 논리 큐를 두고 중앙 스케줄러가 고객을 먼저 선택한 뒤 그 고객의 작업을 선택합니다.

## 정규화된 작업 비용 정의하기

| 입력 | 비용 반영 방식 |
|---|---|
| 모델 경로 | 기준 배수 |
| 길이 | 시간 계수 |
| 해상도 | 처리 및 가격 계수 |
| 출력 수 | 예상 작업량 곱하기 |
| 실제 실행 시간 | 최근 데이터로 보정 |

## Weighted deficit round robin 사용하기

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

제한된 범위에서 크레딧을 이월하면 완벽한 실행 시간 예측 없이도 서로 다른 비용을 처리할 수 있습니다.

## 동시성과 용량 차용 제한하기

테넌트별 in-flight 상한을 두고 다른 고객이 유휴일 때만 용량을 빌리게 합니다. 고객이 돌아오면 점진적으로 회수합니다.

## 대화형 클래스와 배치 클래스 분리하기

| 클래스 | 목표 | 보호 장치 |
|---|---|---|
| 대화형 | 낮은 대기 시간 | 사용자 burst 제한 |
| 표준 | 지연과 처리량 균형 | 테넌트 동시성 |
| 배치 | 높은 활용률 | 에이징 및 예산 |
| 복구 | 불명확한 작업 해결 | 작은 예약 용량 |

## 에이징으로 기아 방지하기

대기 시간에 따라 유효 우선순위를 점진적으로 높이고 상한을 둡니다.

## 입장 및 지출 제한 적용하기

저장 작업, 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 큐가 불공정한 이유는?

대량 제출 고객이 작은 대화형 요청을 모두 뒤로 밀 수 있기 때문입니다.

### 어떤 스케줄러가 적합한가요?

비용이 다른 작업을 처리하는 weighted deficit round robin이 실용적입니다.

### 유료 등급에 다른 가중치를 줄 수 있나요?

가능하지만 정책을 명시하고 낮은 등급의 기아를 막아야 합니다.

### 작업 비용은 어떻게 추정하나요?

모델, 길이, 해상도, 출력 수, 실제 처리 시간을 정규화합니다.

### 배치와 대화형 작업을 같이 운영하려면?

클래스별 예약 용량과 에이징을 사용합니다.

### Atlas Cloud가 테넌트 스케줄러를 대신하나요?

아니요. 모델 접근은 통합해도 공정성, 할당량, 예산은 앱이 관리합니다.
