Hız sınırlamaları nasıl yönetilir?

Hız sınırlama , API sağlayıcıları tarafından belirli bir zaman aralığında hizmetlerinden yapılabilecek isteklerin sayısını yönetmek için kullanılan yaygın bir tekniktir. API sağlayıcıları, hizmetlerinin kullanılabilir ve tüm kullanıcılara yanıt vermesini sağlamak ve hizmetin kötüye kullanılmasını veya aşırı kullanılmasını önlemek için hız sınırlamayı kullanır.

Uygulamanızda bulut API'lerini kullandığınızda, bunların hız sınırlarını anlamanız gerekir. Aşağıdaki teknikler uygulamalarınızda hız sınırlamasını işlemenize yardımcı olabilir:

  • Hız sınırlarını anlama. Hız sınırlarını anlamak için kullandığınız API belgelerine bakın. Hız sınırları, kullandığınız API sağlayıcısına veya hizmet planına bağlı olabilir. Örneğin, bazı API'lerin ücretsiz ve ücretli planlar için farklı hız sınırları olabilir.
  • Hız sınırlama bilgilerini kullanın. Hız sınırlarını kullanan API'ler genellikle yanıt üst bilgilerindeki geçerli hız sınırlarını iletir. Örneğin, RateLimit-Remaining üst bilgi geçerli pencerede kalan isteklerin sayısını gösterir. Bu üst bilgi 0 olarak ayarlanmış bir yanıt alırsanız hız sınırına ulaştığınızı ve başka bir istek göndermeden önce sonraki pencereyi beklemeniz gerektiğini biliyorsunuzdur. RateLimit-Reset üst bilgisi hız sınırının sıfırlanması zamanını gösterir. Bazı API'ler RateLimit-... üst bilgileri yalnızca eşiğe ulaştıktan sonra gönderir. Örneğin, isteklerden geriye 10% kaldığında.
  • API kullanımını iyileştirme. Bazı hizmetler, karmaşıklıklarına göre farklı isteklere farklı maliyetler atar. Örneğin, bazı API'ler daha fazla veri döndüren istekler için daha fazla ücret alabilir. Uygulamanızın maliyetini azaltmak için yalnızca ihtiyacınız olan verileri getirerek API kullanımınızı iyileştirin. API destekliyorsa toplu iş isteklerini kullanın. Yanıtı işlemek ve hız sınırları içinde kalmak için gereken kaynak sayısını azaltmanıza yardımcı olur.
  • Yerel bir hız sınırlayıcısı uygulayın. Belirli bir zaman aralığında API'ye yapılabilecek istek sayısını sınırlamak için uygulamanın kendi içinde bir hız sınırlayıcı uygulayın. Bunu yapmak için "belirteç demeti" veya "sızıntı kovası" algoritmaları gibi teknikleri kullanarak uygulamanın belirli bir zaman diliminde çok sayıda istekte bulunabilmesini sağlayabilirsiniz. Diğer istekler kuyruğa alınır veya atılır.
  • Hız sınırlarını aşmaktan kaçının. Hız sınırlarını aştığınızda, API genellikle bir HTTP durum kodu döndüren sonraki tüm istekleri 429 Too Many Requests. Genellikle, bant genişliği sınırlaması uygulamanızın veri akış hızını, hız sınırlamasından daha fazla etkiler. Oran sınırları içinde kalmak ve kısıtlamadan kaçınmak için oran sınırı yanıt başlıklarında gösterilen bilgileri kullanın.

Bu teknikleri kullanarak hız sınırlamaya dayanıklı uygulamalar oluşturabilir ve API yoğun yük altında olsa bile çalışmaya devam edebilirsiniz.

Sonraki adım