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
İleriHata 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şlaSı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...