Google Chat API, paylaşılan bir hizmet olduğundan tüm kullanıcıların bu hizmeti adil bir şekilde kullanmasını sağlamak ve Google Workspace'in genel performansını korumak için kotalar ve sınırlamalar uygularız.
Bir kotayı aşarsanız 429: Too many requests HTTP durum kodu yanıtı alırsınız. Sohbet arka ucunda yapılan ek sıklık sınırı kontrolleri de aynı hata yanıtını oluşturabilir. Bu hata oluşursa eksponansiyel geri yükleme algoritması kullanıp daha sonra tekrar denemelisiniz. Aşağıdaki tablolarda listelenen dakika başına kotalar dahilinde kaldığınız sürece, günlük istek sayınızla ilgili bir sınırlama yoktur.
Chat API yöntemleri için birden fazla kota türü geçerli olabilir: proje başına, alan başına ve kullanıcı başına kotalar.
Proje başına kotalar
Proje başına kotalar, bir Google Cloud projesinin sorgu hızını sınırlar ve bu nedenle her kota için belirtilen Chat API yöntemlerini çağıran tek bir Chat uygulaması için geçerlidir.
Aşağıdaki tabloda proje başına sorgu sınırları ayrıntılı olarak açıklanmaktadır. Bu sınırları Kotalar sayfasında da bulabilirsiniz.
Proje başına kota |
Chat API yöntemleri |
Sınır (60 saniyede) |
|---|---|---|
Dakika başına ileti yazma sayısı |
|
3000 |
Dakika başına okunan mesaj sayısı |
|
3000 |
Dakika başına üyelik yazma |
|
300 |
Dakika başına üyelik okuma sayısı |
|
3000 |
Dakika başına alan yazma sayısı |
|
60 |
Dakika başına alan okuma sayısı |
|
3000 |
Dakika başına ek yazma sayısı |
|
600 |
Dakika başına ek okuma sayısı |
|
3000 |
Dakika başına tepki yazma sayısı |
|
600 |
Dakika başına tepki okuma sayısı |
|
3000 |
Dakika başına CustomEmoji yazma sayısı |
|
600 |
Dakika başına CustomEmoji okuma sayısı |
|
3000 |
Dakika başına bölüm yazma sayısı |
|
600 |
Dakika başına bölüm okuma sayısı |
|
3000 |
Alan başına kotalar
Alan başına kotalar, belirli bir alandaki sorgu hızını sınırlar ve her kota için listelenen Chat API yöntemlerini çağıran, söz konusu alanda çalışan tüm Chat uygulamaları arasında paylaşılır.
Aşağıdaki tabloda, alan başına sorgu sınırları ayrıntılı olarak açıklanmıştır:
Alan Başına Kota |
Chat API yöntemleri |
Sınır (saniye başına) |
|---|---|---|
Saniyede okuma sayısı |
|
15 |
Saniyede yazma sayısı |
|
1 |
Saniyede oluşturulan tepki yazma sayısı |
|
5 |
Google Chat'e veri aktarırken saniyede yazılan mesaj sayısı |
|
10 |
Kullanıcı başına kotalar
Kullanıcı başına kotalar, bir Google Chat kullanıcısının sorgu hızını sınırlar. Sorgular, bir kullanıcı adına (kullanıcı kimlik doğrulaması kullanılarak) bir Chat API yöntemi çağıran tüm Chat uygulamalarıyla ilgilidir.
Aşağıdaki tabloda kullanıcı başına sorgu sınırları ayrıntılı olarak açıklanmaktadır:
Kullanıcı başına kota |
Chat API yöntemleri |
Sınır (saniye başına) |
|---|---|---|
Saniyede özel emoji yazma sayısı |
|
1 |
Saniyede okunan özel emoji sayısı |
|
15 |
Saniyede bölüm yazma sayısı |
|
1 |
Saniyede okunan bölüm sayısı |
|
15 |
Ek kullanım sınırları
Aynı alanı hedefleyen yüksek API trafiği, Kotalar sayfasında görünmeyen ek dahili sınırlamaları tetikleyebilir.
Zamana dayalı kota hatalarını düzeltme
Zamana dayalı tüm hatalar (X dakika başına en fazla N istek) için kodunuzun istisnayı yakalamasını ve cihazlarınızın aşırı yük oluşturmadığından emin olmak için kısaltılmış eksponansiyel geri yükleme kullanmasını öneririz.
Eksponansiyel geri yükleme, ağ uygulamaları için standart bir hata işleme stratejisidir. Eksponansiyel geri yükleme algoritması, istekler arasındaki bekleme sürelerini üstel olarak artırarak istekleri yeniden dener. Bu işlem, maksimum geri yükleme süresine kadar devam eder. İstekler hâlâ başarısız oluyorsa istek başarılı olana kadar istekler arasındaki gecikmelerin zaman içinde artması önemlidir.
Örnek algoritma
Eksponansiyel geri yükleme algoritması, istekleri eksponansiyel olarak yeniden dener ve yeniden denemeler arasındaki bekleme süresini maksimum geri yükleme süresine kadar artırır. Örneğin:
- Google Chat API'ye istek gönderin.
- İstek başarısız olursa 1 +
random_number_millisecondssaniye bekleyip isteği yeniden deneyin. - İstek başarısız olursa 2 +
random_number_millisecondssaniye bekleyip isteği yeniden deneyin. - İstek başarısız olursa 4 +
random_number_millisecondssaniye bekleyin ve isteği yeniden deneyin. - Bu işlem
maximum_backoffkez tekrarlanabilir. - Maksimum deneme sayısına ulaşana kadar beklemeye ve yeniden denemeye devam edin ancak yeniden denemeler arasındaki bekleme süresini artırmayın.
Bu örnekte:
- Bekleme süresi
min(((2^n)+random_number_milliseconds), maximum_backoff)'dır. Her yineleme (istek) içinndeğeri 1 artırılır. random_number_milliseconds,1.000'den küçük veya 1.000'e eşit rastgele bir milisaniye sayısıdır. Bu, birçok istemcinin bir durum nedeniyle senkronize edildiği ve hepsinin aynı anda yeniden denediği, istekleri senkronize dalgalar halinde gönderdiği durumların önlenmesine yardımcı olur.random_number_millisecondsdeğeri her yeniden deneme isteğinden sonra yeniden hesaplanır.maximum_backoffgenellikle 32 veya 64 saniyedir. Uygun değer, kullanım alanına bağlıdır.
İstemci, maximum_backoff kez denedikten sonra yeniden denemeye devam edebilir.
Bu noktadan sonraki yeniden denemelerde geri çekilme süresinin artırılması gerekmez. Örneğin, bir istemci 64 saniyelik bir maximum_backoff kullanıyorsa bu değere ulaştıktan sonra her 64 saniyede bir yeniden deneyebilir. Bir noktada, istemcilerin süresiz olarak yeniden denemesi engellenmelidir.
Yeniden denemeler arasındaki bekleme süresi ve yeniden deneme sayısı, kullanım alanınıza ve ağ koşullarına bağlıdır.
Proje başına kota artışı isteğinde bulunma
Projenizin kaynak kullanımına bağlı olarak kota ayarlaması isteğinde bulunmak isteyebilirsiniz. Bir hizmet hesabı tarafından yapılan API çağrıları, tek bir hesap kullanıyormuş gibi değerlendirilir. Ayarlanmış kota başvurusunda bulunmak onay alacağınıza dair bir garanti teşkil etmez. Kota değerini önemli ölçüde artıracak kota ayarlama isteklerinin onaylanması daha uzun sürebilir.
Her projenin kotası aynı değildir. Google Cloud'u zaman içinde daha fazla kullandıkça kota değerlerinizin artırılması gerekebilir. Kullanımın önemli oranda artacağını düşünüyorsanız Google Cloud Console'daki Kotalar sayfasından önlem amaçlı olarak kota ayarlamaları isteyebilirsiniz.
Daha fazla bilgi edinmek için aşağıdaki kaynaklara bakın:
- Kota ayarlamaları hakkında
- Mevcut kota kullanımınızı ve sınırlarınızı görüntüleme
- Daha yüksek bir kota sınırı isteğinde bulunma