Hız Sınırlama
API istekleri, platformu korumak ve tek bir kiracının diğerlerinin hizmetini bozmasını ("gürültülü komşu") önlemek için hız sınırlamasına tabidir.
Başlıklar
Sınırlanan yanıtlar standart başlıklar taşır:
| Başlık | Anlamı |
|---|---|
X-RateLimit-Limit | Geçerli pencere için istek kotası |
X-RateLimit-Remaining | Geçerli pencerede kalan istek sayısı |
Retry-After | Yeniden denemeden önce beklenecek saniye (429'da) |
Sınırlar
| Kapsam | Varsayılan (dakika başına) | Anahtar | Env değişkeni |
|---|---|---|---|
| Genel API | 120 | kimliği doğrulanmış kullanıcı id'si, yoksa IP | RATE_LIMIT_API |
| Kiracı başına | 300 | kiracı id'si (kiracılar arası adil paylaşım) | RATE_LIMIT_TENANT |
| Auth (login, register, magic link, parola sıfırlama) | 5 deneme | e-posta + IP | (sabit) |
Sayısal sınırlar yukarıdaki env değişkenleriyle yapılandırılabilir. 429
yanıtlarını otoriter kabul edin ve Retry-After'a uyun.
Sıralama ve gürültülü komşu sınırlayıcı
Genel sınırlayıcı kimlik doğrulamadan önce çalışır; böylece kimliği doğrulanmamış seller en uçta sınırlanır. Kiracı başına sınırlayıcı, kiracı bağlamı kimliği doğrulanmış kullanıcıdan çözüldükten sonra çalışır; sayacı gerçek kiracı id'siyle anahtarlanır — bir kiracı başka bir kiracının kotasını tüketemez. Sayaçlar üretimde Redis ile tutulur.
429 yönetimi
429 durumunda, yeniden denemeden önce Retry-After saniye kadar geri çekilin
(başlık yoksa üstel geri çekilme kullanın). Sınırlanan bir uçta asla dar döngüye
girmeyin.