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
AdvancedHata Sınıfları
| Kod | Anlamı | Retry? |
|---|---|---|
| 400 | Bad Request | Hayır — kodunu düzelt |
| 401 | Unauthorized | Hayır — auth yenile |
| 403 | Forbidden | Hayır — kapsam dışı |
| 404 | Not Found | Hayır |
| 429 | Rate Limited | Evet — exponential backoff |
| 500 | Server Error | Evet — sınırlı |
| 503 | Service Unavailable | Evet |
| 529 | Overloaded | Evet — 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şlaFrequently 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...