Skip to content

Error Handling, Rate Limits, and Retry Strategies

Classify API errors, apply the right retry strategy, use idempotency keys, design DLQs.

Şükrü Yusuf KAYA
12 min read
Advanced
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

Frequently Asked Questions

Upgrade tier in the console; for higher tiers, contact Anthropic support with usage patterns. Plan tier before production.

Yorumlar & Soru-Cevap

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

Related Content