İçeriğe geç

Hız sınırı

Hız sınırı, bir servisin belirli zaman aralığında kabul ettiği istek sayısını sınırlayan kotadır. Aşımda bekleme, kuyruk ve sınırlı yeniden deneme ile entegrasyonu korumak gerekir.

Rate limit · İstek kotası

Bağlantılar · 3 dk okuma · Güncelleme:

Tüm kavramlar

Hız sınırı nedir?

Hız sınırı, bir servisin belirli bir zaman aralığında kabul ettiği istek sayısını sınırlayan kotadır. Amaç kötüye kullanımı önlemek ve servisi bütün kullanıcılar için erişilebilir tutmaktır. Sınır aşıldığında servis genellikle 429 ya da 403 yanıtı döndürür. Birincil kota ile ikincil sınırlar ayrı işler; ikincisi eşzamanlı istek sayısı veya kısa sürede yoğun içerik üretimi gibi durumları denetler.

Kota türleri ve kimlik doğrulama

Kotanın kapsamı IP adresine, kullanıcıya, uygulamaya veya hesaba bağlı olabilir. Aynı serviste kimlik doğrulama yöntemi ve kullanılan uç noktaya göre farklı sınırlar uygulanabilir. Kaynak verilen GitHub belgesi bunun bir örneğidir. Tek bir sayıyı bütün servislere uyarlamak yerine, kullanılan erişim yönteminin güncel sınırını ve yanıt başlıklarını kontrol edin. İstek sayısı kadar eşzamanlılık ve kısa süreli yoğunluk sınırlarını da hesaba katın.

Aşımda bekleme ve yeniden deneme

Servisin döndürdüğü Retry-After veya kota sıfırlanma bilgisini ve resmi tekrar deneme kurallarını esas alın. Gerekirse beklemeyi kademeli artırıp küçük rastgele aralıklar ekleyin; aynı anda yeniden başlayan isteklerin yığılmasını önleyin. Üst deneme sayısı ve toplam süre belirleyin. Veri yazan isteklerde yeniden göndermeden önce önceki işlemin durumunu ve tekrarsızlık desteğini kontrol edin. Sonsuz tekrar kuyruğu büyütebilir ve kesintiyi uzatabilir.

Temsili işletme örneği

Bir seyahat acentesi, uçuş arama servisinden canlı fiyat çeken bir panel kuruyor. Sabah kampanya saatinde 120 müşteri aynı anda arama yapıyor, servis kısa sürede kota aşımı yanıtı döndürüyor ve bazı fiyat sorguları düşüyor. Ekip, her sorguyu hemen yeniden göndermek yerine istekleri kuyruğa alıyor, eşzamanlı istek sayısını 20 ile sınırlıyor ve aynı rota için önbellekteki fiyatı 5 dakika gösteriyor. Böylece yanıtlar tutarlı hale geliyor ve sağlayıcının sınırı zorlanmıyor. Bu örnek temsilidir; gerçek bir müşteri verisi değildir ve sayılar yalnızca açıklama içindir.

Kota aşımında üç yaklaşım

YaklaşımSonuç
Anında tekrar göndermeSınır uzar, kullanıcı beklemesi artar
Kuyruk ve beklemeYanıtlar düzenli gelir, gecikme oluşur
Önbellek kullanımıTekrar isteği azalır, veri bayatlayabilir

Sık karıştırılan nokta

Yaygın yanlış düşünce, hız sınırının yalnızca büyük sistemlerle ilgili olduğudur; küçük bir acentenin panelinde de sağlayıcı kotası aşılabilir. Doğrusu, her entegrasyonun sağlayıcının belirlediği kotayı ve bekleme kurallarını bilmesi gerektiğidir. Kota aşımını hata sayılmadan önce planlanacak bir durum olarak ele alın ve gerçek kullanımı ölçün.

Uygulamada dikkat edilecekler

  1. Her yanıttaki kalan kota ve sıfırlanma bilgisini kayda alın, panelde dakika bazında düzenli olarak takip edin.
  2. Canlı fiyat sorgularını kuyrukta toplayın ve eşzamanlı istek sayısına bir üst sınır koyun.
  3. Aynı rota ve tarih için dönen yanıtları kısa süre önbellekte tutarak gereksiz tekrar isteği azaltın.
  4. Yeniden denemeleri üstel artan bekleme ve en fazla belirli sayıda denemeyle sınırlayın, sonra hatayı kaydedin.

Sık sorulan sorular

Kota aşıldığında müşteriye ne gösterilmeli?

Sorgunun şu anda tamamlanamadığını kısa ve açık biçimde anlatın. Kota sıfırlanma süresi doğrulanmadıysa kesin dönüş zamanı vermeyin. Eski fiyatı gösteriyorsanız güncellik durumunu belirtin; geçmiş yanıtı canlı fiyat veya kesin rezervasyon sonucu olarak sunmayın.

Sınır bilgisini başka bir hesapla aşabilir miyim?

Kaynağın önerisi, kimliksiz yerine kimliği doğrulanmış istek ve uygulama tabanlı kota kullanmaktır. Kotayı yapay olarak çoğaltmak kullanım koşullarına aykırı olabilir; önce sağlayıcının resmi seçeneklerini inceleyin ve bu konuda teknik ekibinizle birlikte karar verin.

Teknik kaynak

docs.github.com · Hız sınırı

Teknik tanım için birincil kaynağa başvurulmuştur. İşletme senaryosu açıklama amacıyla hazırlanmış temsili bir örnektir.

İlgili kavramlar