Hız sınırlaması
API, istekleri sızdıran kova algoritması ile sınırlar. Her istek belirli sayıda birime mal olur ve bu birimler kovadan sabit bir hızla sızar. Bu, kısa süreli ani artışlara izin verirken trafiğin sabit bir hızda akmasını sağlar.
GraphQL API
GraphQL API için hız sınırlaması, sabit bir istek sayısına değil, her isteğin maliyetine dayanır. Aşağıdaki bölümler bu maliyeti düşük tutmaya yönelik en iyi uygulamaları ve mevcut hız sınırı durumunuzun nasıl okunacağını kapsar.
En iyi uygulamalar
- Verilerin ne zaman değiştiğini öğrenmek için sorgularla yoklama yapmak yerine subscription’ları kullanın.
- Yalnızca ihtiyacınız olan alanları sorgulayın ve liste sorgularını daraltmak için
filterkullanın. - Liste sorguları sayfa başına en fazla 100 kayıt döndürür, ancak daha büyük bir sayfa daha küçük bir sayfadan daha pahalıdır. Tek bir istekte 100 kayıt almak 10 kayıt almaktan daha pahalıdır; bu nedenle daha fazla değil, daha az kayıt isteyin. Ayrıntılar için sayfalandırma sayfasına bakın.
- Bir istek
429hatasıyla reddedilirse kovanız doludur. İstek göndermeyi bırakın ve yalnızcaresetile verilen süre geçtikten sonra yeni istekler yapın.
Hız sınırı
API’yi çok karmaşık veya kaynak yoğun sorgulardan korumak için her isteğe, istenen veri miktarına göre bir maliyet atanır. Geçerli bir isteğe veya iş doğrulamasında başarısız olan bir isteğe verilen her yanıt, isteğin maliyetini ve hız sınırınızın durumunu içeren bir extensions.cost nesnesi barındırır. Bir istek GraphQL şema doğrulamasında başarısız olduğunda bu nesne tamamen çıkarılır.
cost· Integer- Geçerli isteğin birim cinsinden maliyeti.
limit· Integer- Geçerli hız sınırı penceresinde izin verilen birim cinsinden en yüksek maliyet.
used· Integer- Bu pencerede şimdiye kadar tüketilen birim sayısı.
remaining· Integer- Sınıra ulaşmadan önce hâlâ kullanabileceğiniz birim sayısı.
reset· Integer- Kotanın ne zaman yenileneceğini gösteren, saniye cinsinden bir UNIX zaman damgası.
REST API
REST API için hız sınırlaması tile hizmetine uygulanır. GraphQL API’den farklı olarak hız sınırı durumu HTTP yanıt başlıkları aracılığıyla döndürülür ve her isteğin maliyeti sabit olarak 1 birimdir. Bu başlıklar, başarısız olanlar dahil her istekte döndürülür.
x-ratelimit-cost· Integer- Geçerli isteğin birim cinsinden maliyeti. REST istekleri için her zaman
1. x-ratelimit-limit· Integer- Geçerli hız sınırı penceresinde izin verilen birim cinsinden en yüksek maliyet.
x-ratelimit-used· Integer- Bu pencerede şimdiye kadar tüketilen birim sayısı.
x-ratelimit-remaining· Integer- Sınıra ulaşmadan önce hâlâ kullanabileceğiniz birim sayısı.
x-ratelimit-reset· Integer- Kotanın ne zaman yenileneceğini gösteren, saniye cinsinden bir UNIX zaman damgası.
Geçerli sınırlar
Hız sınırları müşteri başına, bir dakikalık pencerede uygulanır. Henüz varsayılan bir sınır yoktur. Varsayılan sınırlar 2027’de devreye alınana kadar sınırlar her müşteri için ayrı ayrı yapılandırılır.
Bazı sorgu ve mutation’ların, genel sınırınızdan daha düşük kendi bireysel sınırları da vardır. Bunlar genel olarak değil, ürün bazında ve bazen istek bazında belirlenir.
Bu içerik yardımcı oldu mu?