Meshy API를 호출할 때 429, RateLimitExceeded, 또는 NoMoreConcurrentTasks 오류가 발생한다면, 이 가이드에서는 이러한 제한이 존재하는 이유와 이 제한 범위 내에서 통합을 설계하는 방법을 설명합니다.
속도 제한이 존재하는 이유
Meshy의 API는 3D 모델, 텍스처 및 관련 에셋을 생성하는 데 사용되는 공유 GPU 컴퓨팅 자원 앞에 위치합니다. 속도 제한과 동시 실행 제한은 이 공유 인프라를 보호하여 플랫폼의 모든 사용자가 일관된 생성 품질과 처리 시간을 유지할 수 있도록 합니다. 모든 계정은 현재 플랜에 따라 주어진 시간 창 내에서 최대 요청 수와 한 번에 실행(대기 중이거나 진행 중)할 수 있는 최대 생성 작업 수가 정해져 있습니다.
요청 제한 vs. 대기열/동시 실행 제한
두 가지 서로 다른 제한이 있으며, 각각 다른 방식으로 실패합니다:
요청 속도 제한 (429 / RateLimitExceeded): 분당 수행할 수 있는 API 호출 횟수(예: 작업 생성, 상태 폴링)를 제한합니다. 이를 초과한다는 것은 실제 실행 중인 작업 수와 관계없이 API를 너무 자주 호출하고 있다는 의미입니다.
동시 실행/대기열 제한 (NoMoreConcurrentTasks): 동시에 대기 중이거나 처리 중일 수 있는 생성 작업의 수를 제한합니다. 이를 초과한다는 것은 이미 최대 개수의 활성 작업이 있으며, 새 작업을 제출하기 전에 하나가 완료되기를 기다려야 한다는 의미입니다.
Meshy 대시보드에서 플랜의 현재 요청 및 동시 실행 제한을 확인하세요. 플랜 등급에 따라 다를 수 있습니다.
429 오류에 대한 백오프 전략
429 또는 RateLimitExceeded 응답을 받았을 때 동일한 요청을 즉시 재시도하지 마세요. 대신:
지수 백오프를 사용하세요: 짧은 간격으로 기다린 후, 연속적인 실패마다 간격을 두 배로 늘리되 합리적인 최대치까지로 합니다.
백오프 간격에 지터(작은 무작위 오프셋)를 추가하여 시스템 내 여러 워커가 동시에 재시도하지 않도록 하세요.
대기 시간을 임의로 추측하기보다, 응답에 Retry-After 또는 속도 제한 헤더가 포함되어 있다면 이를 존중하세요.
요청당 재시도 횟수에 상한을 두어 지속적인 실패가 무한히 반복되지 않도록 하세요.
동시 실행 제한에 대비한 계획
NoMoreConcurrentTasks 오류는 계정의 활성 작업 상한에 이미 도달했음을 의미합니다. 프로덕션 환경에서 이를 방지하려면:
자체 애플리케이션에 로컬 대기열 또는 작업 스케줄러를 유지하여 이전 작업이 완료되거나 활성 작업 수가 제한 미만으로 떨어질 때만 새 생성 작업을 제출하도록 하세요.
추측성으로 제출하기보다 작업 상태를 폴링하거나(또는 워크플로에서 지원하는 경우 웹훅을 사용) 슬롯이 비는 시점을 파악하세요.
대량 생성 작업을 한 번에 모두 실행하기보다 일괄 처리하고 스로틀을 적용하세요. 이는 요청 속도와 동시 작업 수 모두를 안정화합니다.
자체적인 모니터링/알림을 구축하여 429/NoMoreConcurrentTasks 오류 급증이 사용자에게 영향을 미치기 전에 파악할 수 있도록 하세요.
실패했거나 만족스럽지 않은 생성 재시도
Meshy API는 현재 개인 및 스튜디오 플랜에 대해 기존 생성의 내장 "재시도" 기능을 지원하지 않습니다 — 결과가 기대에 미치지 못하는 경우 새 생성 요청을 제출해야 하며, 이는 일반적으로 크레딧을 소모합니다. 자동화된 파이프라인이 일시적인 오류(예: 429)를 처리할 때, 재시도 로직이 백오프 후 원래 요청만 다시 보내고 매번 중복 생성 작업을 만들지 않도록 하세요.
플랜 업그레이드를 고려해야 할 때
백오프와 동시 실행을 고려한 대기열 처리를 구현했는데도 여전히 지속적으로 속도 또는 동시 실행 제한에 도달한다면, 일반적으로 통합의 처리량 요구가 현재 플랜의 한도를 초과했다는 신호입니다. 대시보드에서 현재 플랜의 요청 및 동시 실행 허용량을 확인하고, 지속적으로 더 높은 처리량이 필요하다면 업그레이드를 고려하거나 Meshy 영업팀에 엔터프라이즈급 API 액세스에 대해 문의하세요.
FAQ
1. 429 또는 RateLimitExceeded 오류는 무엇을 의미하나요?
플랜에서 허용되는 주어진 시간 창 내의 API 요청 수를 초과했다는 의미입니다. 요청 속도를 늦추고, 재시도 전에 지수 백오프를 사용하세요.
2. NoMoreConcurrentTasks는 무엇을 의미하나요?
계정에서 이미 최대 개수의 생성 작업이 대기 중이거나 진행 중이라는 의미입니다. 더 많은 작업을 제출하기 전에 기존 작업이 완료되기를 기다리거나 한 번에 제출하는 작업 수를 줄이세요.
3. 내 계정의 속도 및 동시 실행 제한은 어떻게 알 수 있나요?
Meshy 대시보드에서 현재 플랜에 연결된 제한을 확인하세요. 플랜 등급에 따라 다를 수 있습니다.
4. Meshy는 생성 작업에 대한 자동 재시도를 지원하나요?
아니요, 개인 및 스튜디오 플랜은 지원하지 않습니다 — 실패했거나 만족스럽지 않은 생성은 새 요청으로 다시 제출해야 하며, 이는 일반적으로 크레딧을 사용합니다. 엔터프라이즈 고객은 재시도 기능에 대해 영업팀에 문의하세요.
5. 프로덕션 파이프라인에서 이러한 오류를 방지하는 가장 좋은 방법은 무엇인가요?
동시 실행 제한을 초과하지 않도록 제출을 스로틀하는 로컬 대기열을 구현하고, 429 응답에 대해 지터가 포함된 지수 백오프를 추가하며, 사용자에게 영향을 미치기 전에 대응할 수 있도록 오류율을 모니터링하세요.
6. 속도 제한 때문에 언제 플랜을 업그레이드해야 하나요?
이미 백오프와 동시 실행을 고려한 대기열 처리를 구현했는데도 여전히 이러한 제한에 정기적으로 도달한다면, 사용량이 현재 플랜을 초과했을 가능성이 높습니다 — 대시보드를 확인하거나 더 높은 처리량의 플랜에 대해 영업팀에 문의하세요.
관련 문서