Google Chat API, paylaşılan bir hizmet olduğundan tüm kullanıcılar tarafından adil bir şekilde kullanılması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 üstel geri çekilme algoritması kullanıp daha sonra tekrar denemelisiniz. Aşağıdaki tablolarda listelenen dakika başına kotaları aşmadığınız sürece, günlük istek sayısında herhangi 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 |
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 (60 saniyede) |
---|---|---|
Dakika başına okuma sayısı |
|
900 |
Dakika başına yazma sayısı |
|
60 |
Kullanıcı başına kotalar
Kullanıcı başına kotalar, Google Chat kullanıcısının sorgu hızını sınırlar. Sorgular, bir kullanıcı adına Chat API yöntemi çağıran tüm Chat uygulamalarıyla ilgilidir (kullanıcı kimlik doğrulaması kullanılarak).
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 (60 saniyede) |
---|---|---|
Dakika başına okuma sayısı |
|
900 |
Dakika başına yazma sayısı |
|
60 |
Ek kullanım sınırları
GROUP_CHAT
veya SPACE
türünde alan oluşturmayla ilgili ek kota sınırları vardır (spaces.create
veya spaces.setup
yöntemini kullanarak).
Bu türlerden dakika başına 35'ten ve saat başına 800'den az alan oluşturun. DIRECT_MESSAGE
türündeki alanlar bu ek kota sınırlarına tabi değildir.
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ış üstel geri çekilme kullanmasını öneririz.
Üstel geri alma, 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. Maksimum geri yükleme süresine kadar bu işlem 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_milliseconds
saniye bekleyin ve isteği yeniden deneyin. - İstek başarısız olursa 2 +
random_number_milliseconds
saniye bekleyip isteği yeniden deneyin. - İstek başarısız olursa 4 +
random_number_milliseconds
bekleyin ve isteği yeniden deneyin. - Bu işlem
maximum_backoff
kez 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çinn
değ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 sayede, birçok istemcinin belirli bir durum nedeniyle senkronize olup aynı anda yeniden denediği ve senkronize dalgalar halinde istek gönderdiği durumlar önlenir.random_number_milliseconds
değeri her yeniden deneme isteğinden sonra yeniden hesaplanır.maximum_backoff
genellikle 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 bulunabilirsiniz. Bir hizmet hesabı tarafından yapılan API çağrıları, tek bir hesap kullanılı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 göz atı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