Kotaları yönetme

Google Calendar API'de, tüm kullanıcılar tarafından adil bir şekilde kullanıldığından emin olmak için kotalar bulunur. Calendar API'yi kullanırken dikkate alınması gereken üç önemli sınırlama vardır:

  • API kullanım kotaları proje ve kullanıcı başına zorunlu kılınır. Daha fazla bilgi için sonraki bölüme bakın.
  • Genel Takvim kullanım sınırları: Takvim kullanım sınırlarından kaçının.
  • Operasyonel sınırlar: Hızınız herhangi bir zamanda sınırlandırılabilir. Örneğin, hızlı bir şekilde tek bir takvime yazmaya çalışırsanız.

Calendar API kullanım kotası türleri

İki tür kota uygulanır:

  • Proje başına dakika başına: Google Cloud projeniz tarafından yapılan istek sayısıdır.
  • Her kullanıcı için proje başına dakika başına: Bu, Cloud projenizdeki belirli bir kullanıcının yaptığı isteklerin sayısıdır. Bu sınırlamanın amacı, kullanımın kullanıcılarınız arasında adil bir şekilde dağıtılmasını sağlamaktır.

Kotalar, kayan bir pencere kullanılarak dakika başına hesaplanır. Bir dakika boyunca dakika başına kotanızı aşan hızlı bir trafik yoğunluğu, sonraki pencerede kullanımınızın ortalama olarak kotalar dahilinde kalmasını sağlamak için hız sınırlamasına neden olur.

Kotalardan herhangi biri aşılırsa hız sınırlamasına tabi olursunuz ve sorgularınıza bir 403 usageLimits durum kodu veya 429 usageLimits durum kodu alırsınız. Bu durumda aşağıdakileri yapabilirsiniz:

  1. Tüm en iyi uygulamaları izlediğinizden emin olun: Eksponansiyel geri yükleme kullanın, trafik kalıplarını rastgele kullanın, Push bildirimleri kullanın.
  2. Projeniz büyüyorsa ve daha fazla kullanıcınız varsa proje başına kota artışı talep edebilirsiniz.
  3. Kullanıcı başına kota sınırına ulaşıldığında aşağıdakileri yapabilirsiniz:
    • Hizmet hesabı kullanıyorsanız yükü kullanıcılara ayırın veya birden fazla hizmet hesabı arasında bölün.
    • Kullanıcı başına kotada artış isteğinde bulunabilseniz de uygulamanız diğer sınır türlerini (ör. genel takvim kullanımı sınırları veya operasyonel sınırlar) aşmaya başlayabileceğinden kotanın varsayılan değerin üzerine çıkması genel olarak önerilmez.

Kota artışı isteği

Projenizin kullanım sınırlarını görüntülemek, değiştirmek veya kotanızda artış talep etmek için şunları yapın:

  1. Projeniz için faturalandırma hesabınız yoksa hesap oluşturun.
  2. API Konsolu'nda API kitaplığının Etkin API'ler sayfasını ziyaret edin ve listeden bir API seçin.
  3. Kota ile ilgili ayarları görüntülemek ve değiştirmek için Kotalar'ı seçin. Kullanım istatistiklerini görüntülemek için Kullanım'ı seçin.

Eksponansiyel geri yükleme kullan

İstek hızınızı düşürmenizi istediğimizde 403 "usageLimits" yanıtı veya bir 429 yanıtı döndürür (hata belgelerinin tamamına bakın). Bu önemli bir hata değildir ve kısa bir süre sonra isteği yeniden denemenizi bekliyoruz. İstekler yine de çok hızlı geliyorsa tekrar sorarız vb. Bu sürecin doğru şekilde çalışması için istekler arasındaki gecikmelerin zamanla artması önemlidir.

Genellikle kısaltılmış eksponansiyel geri yükleme yöntemini kullanmanız önerilir. Cloud Storage belgelerinde bunun işleyiş şekli ve tercih edilen algoritma hakkında ayrıntılı açıklamalar mevcuttur. Google istemci kitaplığı kullanıyorsanız bu işlem normalde sizin yerinize yapılır. Kitaplık dokümanlarınıza bakın. Normalde, kendi kendinize yazmak yerine kitaplık uygulamasını kullanmanız gerekir.

Trafik kalıplarını rastgele seç

Takvim istemcileri, aynı anda işlem gerçekleştiren birden çok istemcinin neden olduğu ani trafik kalıplarına açıktır. Örneğin, bir Takvim istemcisinin yaygın olarak uygulaması kötü olan uygulama, tam senkronizasyon işlemini gece yarısı yapmaktır. Bu durumun dakika başına kotanızın aşılmasına yol açması ve hız sınırlamasına ve geri çekilmelere yol açması neredeyse kesindir.

Bunu önlemek için, trafiğinizin gün içine mümkün olduğunca yayılmış olduğundan emin olun. Müşterinizin günlük senkronizasyon yapması gerekiyorsa müşterinin rastgele bir zaman belirlemesini sağlayın (her istemci için farklı). Bir işlemi düzenli olarak gerçekleştirmeniz gerekiyorsa aralığı +/- %25 olarak değiştirin. Bu, trafiği daha dengeli bir şekilde dağıtır ve çok daha iyi bir kullanıcı deneyimi sağlar.

Push bildirimlerini kullanma

Yaygın kullanım alanlarından biri, kullanıcının takviminde bir değişiklik olduğunda işlem gerçekleştirmektir. Buradaki karşıt eğilim, ilgilendiğiniz her takvimi tekrar tekrar yoklamaktır. Bu işlem tüm kotanızı çok hızlı bir şekilde tüketir. Örneğin, uygulamanızda 5.000 kullanıcı varsa ve her kullanıcının takvimini dakikada bir anket yapıyorsa herhangi bir iş yapılmadan önce en az 5.000 dakikalık kota gerekir.

Sunucu tarafı uygulamalar, ilginizi çekecek bir şey olduğunda sizi bilgilendirebilmemiz için push bildirimlerine kaydolabilir. Bu ayarların yapılması daha fazla çalışma gerektirir ancak kotanızın önemli ölçüde daha verimli bir şekilde kullanılmasını sağlar ve daha iyi bir kullanıcı deneyimi sunar. Bildirim almak istediğiniz eventType özelliğini belirttiğinizden emin olun. Daha fazla bilgi için Push bildirimleri başlıklı makaleyi inceleyin.

Hizmet hesaplarıyla doğru hesaplama

Uygulamanız alan genelinde yetki kullanarak istek gerçekleştiriyorsa varsayılan olarak hizmet hesabından, kimliğine büründüğünüz kullanıcı yerine "kullanıcı başına proje başına dakika başına" kotalarına göre ücretlendirilirsiniz. Bu durumda, birden fazla kullanıcının takviminde çalışıyor olsa bile hizmet hesabının kotası büyük olasılıkla tükenir ve hız sınırlı olur. Hangi kullanıcıdan ödeme alınacağını belirtmek için quotaUser URL parametresini (veya x-goog-quota-user HTTP üst bilgisini) kullanarak bunu önleyebilirsiniz. Bu özellik yalnızca kota hesaplamaları için kullanılır. Daha fazla bilgi için Cloud belgelerindeki Kullanıcı başına isteği sınırlama bölümüne bakın.

Kota sınırı işleme sürecini test etme

Uygulamanızın, kota sınırlarına ulaşma yöntemlerini gerektiği gibi ele alabilmesini sağlamak (ör. eksponansiyel geri yükleme ile yeniden denemeler yaparak) ve kullanıcılarınızın karşılaşabileceği olası kesintileri en aza indirmek için bu senaryoyu gerçek bir ortamda test etmenizi önemle tavsiye ederiz.

Bu tür bir testin gerçek uygulama kullanımınızı etkilememesi için Google API Konsolu'nda yalnızca test amaçlı ayrı bir proje kaydetmenizi ve bunu üretim projenize benzer bir şekilde yapılandırmanızı öneririz. Daha sonra bu proje için yapay olarak düşük kotalar ayarlayabilir ve uygulamanızın davranışını gözlemleyebilirsiniz.

Fiyatlandırma

Google Takvim API'sının kullanımı için hiçbir ek ücret ödenmesi gerekmez. Kota istek sınırları aşıldığında ek ücret alınmaz ve hesabınız faturalandırılmaz.