Domain Name API Hız Sınırı, Throttling & Toplu Kullanım Politikası

Domain Name API Hız Sınırı, Throttling & Toplu Kullanım Politikası

Domain Name API, bayi entegrasyon süreçlerini geniş ölçekte optimize etmek için tasarlanmış, kurumsal düzeyde yüksek erişilebilirlikli bir API altyapısı sunmaktadır. Tüm ortaklar için adil, dengeli ve sürdürülebilir API erişimi sağlamak amacıyla kullanım; ayrı endpoint’ler, hız sınırları ve API throttling kontrolleriyle iki kategoriye ayrılmıştır.

Hızlı Kural Özeti

Tüm hız sınırı, API throttling ve endpoint kuralları için hızlı başvuru tablosu.

Kural Detay
Standart API /api — kullanıcı tetiklemeli, gerçek zamanlı
Toplu API /api-bulk — otomatik, yüksek frekanslı
Hız sınırı Saniyede 1 istek / API Anahtarı
Burst traffic Hız sınırı ihlali olarak değerlendirilir
Eşzamanlılık Toplam hız 1 istek/sn sınırını geçemez
HTTP 429 Sınır aşıldı — hemen dur ve tekrar dene
Yeniden deneme 1sn bekle → üstel geri çekilme (backoff)
Yaptırım Throttle → engel → kalıcı hesap kapatılması
/api’yi toplu işlemler için kullanmanın herhangi bir performans veya öncelik avantajı YOKTUR. /api’nin kötüye kullanımı anında throttling tetikler ve kalıcı API erişim sonlandırmasına yol açabilir.

1. Tanımlar: Hız Sınırlama ve API Throttling

API Hız Sınırlama (Rate Limiting) Nedir?

API hız sınırlama; bir istemcinin belirli bir zaman aralığında gönderebileceği istek sayısını kısıtlayan bir kontrol mekanizmasıdır. Domain Name API’de bu sınır API Anahtarı başına saniyede 1 istektir. Bu sınırı aşan istekler throttle edilir — yani reddedilir — ve istemci HTTP 429 Çok Fazla İstek yanıtı alır.

API Throttling Nedir?

Throttling; hız sınırlarının sunucu tarafından uygulanmasıdır. İstek hızınız izin verilen eşiği aştığında sunucu, platform stabilitesini korumak için isteklerinizi throttle eder. Throttling otomatiktir ve müzakere edilemez. Tüm API Anahtarlarına eşit şekilde uygulanır; bir ceza değil — tüm bayi ağı için bir koruma mekanizmasıdır.

2. Standart ve Toplu API Kullanımı Nedir?

Gerçek Zamanlı

Standart API Kullanımı

Standart API kullanımı; doğrudan bir kullanıcı eylemi tarafından tetiklenen, düşük frekanslı ve gerçek zamanlı çağrıları kapsar.

  • Domain uygunluk sorgulama (kullanıcı başlatımlı)
  • Tekil domain kayıt istekleri
  • Bayi kontrol paneli üzerinden yapılan işlemler
Otomatik

Toplu API Kullanımı

Toplu kullanım; doğrudan insan müdahalesi olmaksızın yazılım tarafından otomatik tetiklenen yüksek frekanslı ve tekrarlayan API çağrılarını kapsar.

Saniyede 1’den fazla otomatik istek içeren her senaryo toplu kullanım olarak sınıflandırılır ve yalnızca /api-bulk kullanılmalıdır. Bu; async model, thread sayısı veya eşzamanlılık stratejisinden bağımsız olarak geçerlidir.

Örnekler

  • Domain uygunluk tarama scriptleri
  • Backorder ve dro-catching sistemleri
  • Toplu domain kontrol / kayıt iş akışları
  • Cron job ve arka plan worker servisleri
  • Webhook retry ve olay tabanlı otomasyon

3. Toplu API Endpoint Kuralları (/api-bulk)

Tüm otomatik ve toplu işlemler ayrılmış endpoint üzerinden yürütülmelidir. Her iki endpoint de aynı işlevselliği sunar; tek fark kullanılan temel URI’dir.

Kullanım Türü Doğru Endpoint
Gerçek zamanlı (kullanıcı tetiklemeli) /api
Otomatik / toplu işlemler /api-bulk
Zorunlu Kural — Sıfır Tolerans

/api’nin toplu işlemler için kötüye kullanımı anında throttling tetikler ve kalıcı API erişim sonlandırmasına yol açabilir.
  • Otomatik izleme tarafından gerçek zamanlı tespit edilir — manuel inceleme gerekmez
  • Etkilenen istekler bildirim yapılmaksızın anında throttle veya engellenir
  • Tekrarlanan ihlaller geçici veya kalıcı API erişim askıya alınmasıyla sonuçlanır
  • Ağır veya süregen kötüye kullanım tam hesap kapatılmasıyla sonuçlanır

Toplu trafik için /api’nin yanlış kullanımında herhangi bir performans, hız veya öncelik avantajı YOKTUR. Sistem bunu imkânsız kılacak şekilde tasarlanmıştır.

4. API Hız Sınırları ve Throttling Açıklandı

Hız Sınırı — /api-bulk
Saniyede maksimum 1 (bir) istek / API Anahtarı
  • API Anahtarı başına uygulanır. IP veya hesap başına değil.
  • Burst traffic (bir saniye içinde birden fazla istek) da ihlal sayılır.
  • Sınırı aşan istekler HTTP 429 Çok Fazla İstek ile reddedilir.
  • 429 yanıtındaki Retry-After header değeri mutlaka dikkate alınmalıdır.
  • Sürekli ihlaller kademeli throttling ve erişim kısıtlamalarını tetikler.

Eşzamanlılık Kuralı

Sisteminiz çok thread’li veya tamamen asenkron olsa bile toplam gönderilen istek hızı API Anahtarı başına saniyede 1 isteği geçemez.

  • Paralel async çağrılar aynı hız sınırına dahil sayılır
  • Çok thread’li yapı daha yüksek bir kota hakkı sağlamaz
  • Tüm thread ve worker’larda ortak merkezi bir hız sınırlayıcı veya kuyruk kullanın

5. HTTP 429 Hataları Nasıl Düzeltilir (Hız Sınırı Aşımı Çözümü)

Entegrasyonunuz HTTP 429 Çok Fazla İstek alıyorsa aşağıdaki adımları izleyin:

  1. İstekleri hemen durdurun
  2. 429 yanıtından Retry-After header değerini okuyun
  3. En az 1 saniye (veya Retry-After değeri, hangisi büyükse) bekleyin
  4. Başarısız isteği yeniden deneyin
  5. 429 sürüyorsa -> üstel backoff uygulayın: 1sn -> 2sn -> 4sn -> 8sn -> ...
  6. Tüm otomatik çağrılar için /api-bulk kullandığınızı doğrulayın
  7. Tüm thread’lerde toplam eşzamanlılığın 1 istek/sn’yi geçmediğini kontrol edin

6. Kod Örnekleri (Toplu API En İyi Uygulamaları)

Aşağıdaki örnekler en yaygın entegrasyon dillerinde doğru hız sınırı yönetimi ve üstel backoff uygulanmasını göstermektedir.

C# (.NET / Windows entegrasyonları)

// C# — Retry-After destekli Üstel Backoff
var delay = 1000; // 1 saniyeden başla
var maxDelay = 60000; // 60 saniyede sınırla

while (true)
{
    var response = await client.SendAsync(request);

    if ((int)response.StatusCode == 429)
    {
        var retryAfter = response.Headers.RetryAfter?.Delta?.TotalMilliseconds ?? delay;
        await Task.Delay((int)Math.Max(retryAfter, delay));
        delay = Math.Min(delay * 2, maxDelay); // ustel backoff
        continue;
    }

    break; // basarili -- donguden cik
}

PHP (WordPress / cPanel entegrasyonları)

// PHP — Retry-After destekli Üstel Backoff
function sendWithRetry($url, $headers, $maxRetries = 5) {
    $delay = 1; // saniye
    for ($i = 0; $i < $maxRetries; $i++) {
        $response = httpRequest($url, $headers);
        if ($response['status'] === 429) {
            $retryAfter = $response['headers']['Retry-After'] ?? $delay;
            sleep(max((int)$retryAfter, $delay));
            $delay = min($delay * 2, 60); // 60 saniyede sinirla
            continue;
        }
        return $response; // basarili
    }
    throw new Exception('Maksimum deneme sayisi asildi');
}

Python (script / otomasyon)

# Python — Retry-After destekli Üstel Backoff
import time, requests

def send_with_retry(url, headers, max_retries=5):
    delay = 1  # saniye
    for attempt in range(max_retries):
        response = requests.get(url, headers=headers)
        if response.status_code == 429:
            retry_after = int(response.headers.get('Retry-After', delay))
            time.sleep(max(retry_after, delay))
            delay = min(delay * 2, 60)  # ustel backoff, 60sn sinir
            continue
        return response  # basarili
    raise Exception('Maksimum deneme sayisi asildi')

7. İstek Akış Diyagramı

Her toplu API isteği bu akışı izlemelidir. Entegrasyon ekibiniz için referans olarak kaydedin.

              TOPLU API İSTEK AKISI

  +---------------------+
  |  Domain'i istek     |
  |  kuyruğuna ekle     |
  +----------+----------+
             |
             v
  +---------------------+
  |  /api-bulk'a istek  |
  |  gönder             |
  +----------+----------+
             |
       +-----+------+
       |            |
     200 OK     429 Çok Fazla İstek
       |            |
       v            v
    Sonucu      Retry-After header oku
    iŞle        En az 1 saniye bekle
       |            |
       |            v
       |        Üstel backoff uygula
       |        1sn -> 2sn -> 4sn -> 8sn
       |            |
       |            v
       |        İsteği yeniden dene
       |            |
       +-----+------+
             |
             v
  +---------------------+
  |  Kuyruktaki sonraki |
  |  öğe                |
  +---------------------+

8. Toplu API Entegrasyonu İçin En İyi Uygulamalar

İstek Kuyruğu

Hiçbir zaman hız kontrolü olmadan paralel istek göndermeyin. Tüm thread ve worker’larda ortak saniyede maksimum 1 gönderilen istek kuralını uygulayan merkezi bir kuyruk kullanın.

Tekrarlayan İsteklerden Kaçının

Aynı session içinde aynı domain’i birden fazla kez sorgulamayın. Sonuçları yerel olarak önbelleğe alın ve işlem öncesinde giriş listenizdeki tekrarları temizleyin.

Hata Oranınızı İzleyin

429 yanıtlarının başarılı yanıtlara oranını takip edin. Artan 429 oranı, erişim kısıtlamaları tetiklenmeden önce entegrasyonunuzun düzeltilmesi gerektiğinin erken uyarısıdır.

9. Kaçınılması Gereken Yaygın Entegrasyon Hataları

Yaygın Hatalar
  • Merkezi hız sınırlayıcı veya kuyruk olmadan paralel istek göndermek
  • Otomatik veya script tabanlı işlemler için /api-bulk yerine /api kullanmak
  • HTTP 429 yanıtlarını yok saymak ve istek göndermeye devam etmek
  • Retry mantığı veya üstel backoff uygulamamak
  • Kısa aralıklarla aynı domain’i tekrar tekrar sorgulamak
  • Hız sınırlarını atlatmak için API anahtarları veya IP döndürmek (izlenmekte, kötüye kullanım sayılır)
  • Async veya çok thread’li çağrıların ayrı ayrı sayıldığını sanmak

10. SSS — Sıkça Sorulan Sorular

API hız sınırlama, throttling ve toplu API kullanımı hakkındaki yaygın sorular.

Soru Yanıt
Paralel istek gönderebilir miyim? Hayır. Thread sayısı veya async modelden bağımsız olarak toplam giden hız API Anahtarı başına 1 istek/sn’yi geçemez.
Sınırı aşmak için birden fazla API anahtarı kullanabilir miyim? Hayır. Çoklu anahtar kötüye kullanımı aktif olarak izlenmekte ve hesap kapatılmasına yol açabilecek politika ihlali olarak sınıflandırılmaktadır.
Async işleme kotamı artırır mı? Hayır. Hız sınırları API Anahtarına global olarak uygulanır; thread veya coroutine başına değil.
429 yanıtını yok sayarsam ne olur? 429 sonrası devam eden istekler throttling’i artırır ve kademeli erişim kısıtlamalarını tetikleyebilir.
Burst traffic’e izin var mı? Hayır. Tek bir saniye içindeki kısa istek patlamaları bile hız sınırı ihlali olarak değerlendirilir.
Retry-After header nedir? Her 429 yanıtına eklenir ve yeniden denemeden önce kaç saniye beklemeniz gerektiğini tam olarak belirtir. Her zaman dikkate alınız.
Daha yüksek hız sınırı nasıl talep edilir? Kullanım senaryonuz ve hacim gereksinimlerinizle birlikte destek ekibimizle iletişime geçin. Nitelikli bayiler için özel limitler müzakere edilebilir.
Bu politika /api için de geçerli mi? Evet. /api’yi toplu işlemler için kullanmak politika ihlalidir. Yaptırım otomatik ve gerçek zamanlıdır.

11. Otomatik İzleme ve Kötüye Kullanım Tespiti

Aşağıdaki davranışlar tüm API trafikğinde sürekli izlenmektedir:

  • Ölçülebilir sistem performansı düşüşüne neden olan yüksek hacimli trafik
  • Aynı domain için tekrarlayan kayıt veya sorgulama denemeleri
  • Yüksek hata-başarı oranı (fail rate)
  • Anormal veya şüpheli trafik örüntüleri
  • Bağlantı kararsızlığı ve zaman aşımı anomalileri
API anahtarları veya IP adresleri döndürülerek hız sınırlarını atlatma girişimleri ciddi politika ihlali olarak değerlendirilir. Platform genelinde erişim kısıtlamaları ve hesap kapatılması uygulanabilir.

12. Bu Politika Neden Var?

Bu politika şunları sağlamak için oluşturulmuştur:

  • Tüm bayiler için adil ve eşit API erişimi
  • Kurumsal ölçekte stabil ve öngörülebilir platform performansı
  • İstenmeden oluşan kötüye kullanım ve sistem aşırı yüklenmesine karşı koruma
  • Doğru yapılandırılmış yüksek hacimli otomasyon iş akışlarını kullanan bayilere destek
  • Tüm bayi ağı genelinde tutarlı hizmet kalitesi

13. Daha Yüksek Hız Sınırı Talep Etme

Entegrasyonunuz varsayılan saniyede 1 istek sınırının ötesinde bir verim gerektiriyorsa destek ekibimizle iletişime geçin. Kullanım senaryonuzu ve hacim gereksinimlerinizi değerlendirip bayi profilinize uygun bir yapılandırma önereceğiz.