Hız sınırlaması
API, istekleri sızdıran kova algoritması ile hız sınırlamasına tabi tutar. Her istek belirli sayıda birim maliyetlidir ve bu birimler kovadan sabit bir hızda sızar. Bu sayede trafik düzenli bir hızda akarken kısa süreli yoğunluklara da izin verilir.
GraphQL API
GraphQL API için hız sınırlaması, sabit bir istek sayısı yerine her isteğin maliyetine dayanır. Aşağıdaki bölümlerde bu maliyeti düşük tutmaya yönelik en iyi uygulamalar ve mevcut hız sınırı durumunuzu nasıl okuyacağınız anlatılmaktadır.
En iyi uygulamalar
- Verinin ne zaman değiştiğini öğrenmek için sorgularla yoklama (polling) yapmak yerine abonelikleri 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 getirmek 10 kayıt getirmekten daha maliyetlidir; bu nedenle daha fazla değil, daha az kayıt isteyin. Ayrıntılar için sayfalandırma bölümüne bakın.
- Bir istek
429hatasıyla reddedilirse kovanız doludur. İstek göndermeyi durdurun ve yalnızcaresetile belirtilen 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 verilen 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 içerir. Bir istek GraphQL şema doğrulamasında başarısız olursa 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 maksimum maliyet.
used· Integer- Bu pencerede şimdiye kadar kaç birim tüketildiği.
remaining· Integer- Sınıra ulaşmadan önce kaç birim hakkınızın kaldığı.
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 servisine uygulanır. GraphQL API’nin aksine hız sınırı durumu HTTP yanıt başlıkları üzerinden 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 maksimum maliyet.
x-ratelimit-used· Integer- Bu pencerede şimdiye kadar kaç birim tüketildiği.
x-ratelimit-remaining· Integer- Sınıra ulaşmadan önce kaç birim hakkınızın kaldığı.
x-ratelimit-reset· Integer- Kotanın ne zaman yenileneceğini gösteren, saniye cinsinden bir UNIX zaman damgası.
Mevcut 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 getirilene kadar sınırlar müşteri bazında tek tek yapılandırılır.
Bazı sorguların ve mutasyonların, genel sınırınızdan daha düşük olan kendi 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?