İçeriğe geç

Hata Yönetimi, Rate Limit ve Retry Stratejileri

API hatalarını sınıflandır, doğru retry stratejisini uygula, idempotency key kullan, dead-letter queue tasarla.

Şükrü Yusuf KAYA
12 dakikalık okuma
İleri
Hata sınıflandırma matrisi

Hata Sınıfları

KodAnlamıRetry?
400Bad RequestHayır — kodunu düzelt
401UnauthorizedHayır — auth yenile
403ForbiddenHayır — kapsam dışı
404Not FoundHayır
429Rate LimitedEvet — exponential backoff
500Server ErrorEvet — sınırlı
503Service UnavailableEvet
529OverloadedEvet — sınırlı
python
import time, random
 
def with_retry(fn, *, max_attempts=5, base=1.0):
for attempt in range(max_attempts):
try:
return fn()
except RateLimitError:
wait = base * 2 ** attempt + random.random()
time.sleep(wait)
except APIStatusError as e:
if 500 <= e.status_code < 600 and attempt < max_attempts - 1:
time.sleep(base * 2 ** attempt + random.random())
else:
raise
raise RuntimeError("retry exhausted")
Üretim seviyesi retry — exponential backoff + jitter.

Yapılması gereken#

  • Exponential backoff + jitter
  • Idempotency key
  • DLQ + alert
  • Hata sınıfı bazlı retry kararı
  • Latency timeout (60s)

Yapılmaması gereken#

  • Sonsuz while True
  • Sıfır jitter (thundering herd)
  • 400/401 retry
  • Stateful loglar olmadan retry
  • API key yenilemeden 401 retry
Boşluk doldur · text
Retry'lar arası bekleme _____ backoff ile artırılır; thundering herd'i önlemek için _____ eklenir. 400 ve 401 hataları _____ edilmez. Tükenmiş retry'lar _____ kuyruğuna yollanır.
Quiz

Bu modülü değerlendirme zamanı

Buraya kadar öğrendiklerini quiz ile pekiştir. Süreli, puanlı ve geri bildirimli bir değerlendirmedir.

Quiz'e başla

Sık Sorulan Sorular

Console'dan tier yükselt, kullanım örüntüsüyle Anthropic destek ekibinden tier review iste. Üretim öncesi mutlaka tier'ını planla.

Yorumlar & Soru-Cevap

(0)
Yorum yazmak için giriş yap.
Yorumlar yükleniyor...

İlgili İçerikler