GH GambleHub

Rate limits we kwotalar

Rate limits we kwotalar umumy çeşmelere bolan islegi dolandyrmagyň esasy mehanikasydyr: CPU, tor, DB, nobatlar, daşarky API. Maksat adalatlylyk (fairness), SLO-nyň öňünden aýdylýanlygy we partlamalardan, hyýanatçylyklardan we "noisy neighbor" -dan goramak.


1) Esasy düşünjeler

Rate limit - haýyşlaryň/amallaryň intensiwliginiň çäklendirilmegi (req/s, msg/min, baýt/sek).
Burst - orta rate-den gysga möhletli tolkun.
Quota - wagt penjiresi üçin göwrümiň çägi (resminamalar/gün, GB/aý).
Concurrency cap - bir wagtyň özünde amallaryň (bir wagtyň özünde soraglaryň/joblaryň) çäklendirilmegi.
Skope - ulanylyşy: per-tenant, per-user, per-token, per-endpoint, per-IP, per-region, per-feature.


2) Çäklendirmek algoritmleri

2. 1 Token Bucket

Parametrler: 'rate' (bellikler/sek), 'burst' (çelek ululygy).
"Karz" hökmünde işleýär: toplanan tokenler gysga piklere mümkinçilik berýär.
Daşarky API we ulanyjy soraglary üçin amatlydyr.

2. 2 Leaky Bucket (akýan çelek)

Akymy yzygiderli tizlikde ýuwaş-ýuwaşdan "urýar".
Duýgur backend 'amlara traffigi tekizlemek üçin amatly.

2. 3 Fixed/Sliding Window

Fixed window: ýönekeý, ýöne "penjiräni çalyşmak" üçin ejiz.
Sliding window: has takyk, ýöne has gymmat hasaplamak.

2. 4 GCRA (Generic Cell Rate Algorithm)

Wirtual geliş wagty nukdaýnazaryndan Token Bucket-iň ekwiwalenti.
Paýlanan çäkler üçin takyk we durnukly (az gapma-garşylyk ýagdaýy).

2. 5 Concurrency Limits

Bir wagtyň özünde ýerine ýetirilýän amallaryň çäklendirilmegi.
Akym/baglanyşyk howuzlarynyň tükenmeginden we "head-of-line blocking" -den goraýar.


3) Çäklendirmeleri nirede ulanmak

Serhetde (L7/API-şlýuz): esasy päsgelçilik, çalt şowsuzlyk (429/503), arzan barlaglar.
Hyzmatlaryň içinde: agyr amallar üçin goşmaça caps (eksportlar, hasabatlar, üýtgeşmeler).
Daşarky ulgamlara çykanda: üçünji taraplar üçin aýratyn çäklendirmeler (anti-penalty).
Nobatlarda/workerlerde: umumy howuzlara fairness.


4) Satyn almak we ileri tutmak (multi-tenant)

Иерархия: Global → Region → Tenant/Plan → User/Token → Endpoint/Feature → IP/Device.
Priority-aware: VIP/Enterprise has köp 'burst' we agram alýar, ýöne umumy SLO-lary bozmaýar.
Çäkleriň düzümi: jemleýji rugsat = 'min (global, sebit, tenant, ulanyjy, endpoint)'.


5) Göwrümi boýunça kwotalar

Gündelik/aýlyk kwotalar: resminamalar/gün, GB/aý, habarlar/min.
Ýumşak/gaty bosagalar: duýduryşlar (80/90%) we "gaty dur".
Roll-up: obýektleriň (tablisalaryň, faýllaryň, wakalaryň) hasaby we billingde "aýyrmak".


6) Paýlanan çäklendirijiler

Talaplar: pes gijä galmak, utgaşdyrmak, şowsuzlyga çydamlylyk, gorizontal masştablamak.

Local + probabilistic sync: ýerli şar çelekleri + wagtal-wagtal sinhronizasiýa.
Central store: Redis/KeyDB/Memcached с LUA/atomic ops (INCR/PEXPIRE).
Sharding: 'limit: {scope}: {id}: {window}' görnüşiniň birmeňzeş paýlanan açarlary.
Clock skew: "Hakykaty" müşderilerde däl-de, çäklendiriji serwerde saklaň.
Idempotentlik: "amallaryň" (Idempotency-Key) açarlary ýalan hasapdan çykarmalary azaldýar.


7) Hyýanatçylyga garşy we gorag

Per-IP + device fingerprint.
Anomaliýalarda Proof-of-Work/CAPTCHA.
UX has möhüm bolanda, doly şowsuzlygyň ýerine slowdown (throttling).
Adaptive limits: hadysalarda/gymmat bahaly zaýalanmalarda çäkleriň dinamiki peselmegi.


8) Müşderiniň özüni alyp barşy we teswirnama

Kodlar: '429 Too Many Requests' (rate), '403' (kwota/meýilnama geçildi), '503' (gorag pese gaçmagy).

Jogaplaryň sözbaşylary (iň oňat practice):
  • 'Retry-After: ' - Haçan synap görmeli.
'RateLimit-' (IETF) maşgalasy:
  • `RateLimit-Limit: ;w=`
  • `RateLimit-Remaining: `
  • `RateLimit-Reset: `
  • Backoff: eksponensial + jitter (full jitter, equal jitter).
  • Idempotentlik: 'Idempotency-Key' sözbaşysy we howpsuz amallaryň gaýtalanmagy.
  • Taým-autlar we ýatyryş: çäklendirmeleri "ele almazlyk" üçin asylan haýyşlary dogry kesmek.

9) Gözegçilik we synag

Теги: `tenant_id`, `plan`, `user_id`, `endpoint`, `region`, `decision` (allow/deny), `reason` (quota/rate/concurrency).
Metrikler: geçirijilik ukyby, 429/403/503 şowsuzlyklarynyň paýy, limiteriň gijikdirilmegi p95/p99, açarlar kesişiniň hit ratio, meýilnamalar boýunça paýlanylyşy.
Audit ýazgylary: bloklaryň sebäpleri, "şowhunly" açarlar.
Synaglar: "mişar/burst/plato" ýükleýiş profilleri, bulam-bujarlyk - Redis/çarda şowsuzlygy, sagatlaryň sinhronizasiýasy.


10) Billing bilen integrasiýa

Usage-hasaplaýjylar serhetde ýygnalýarlar, baplar bilen (her N min) dempotentlik bilen jemlenýärler.
Meýilnamalar boýunça gysgaça maglumat: artykmaç çykdajy → overçarj ýa-da meýilnamany wagtlaýyn ýokarlandyrmak.
Tapawutlar: barlamak usage vs invoice; delta alertleri.


11) Içindäki fairness (nobatlar, workerler)

Weighted Fair Queuing/DRR: meýilnamanyň agramyna görä kärendeçileriň arasynda slotlary paýlamak.
Per-tenant worker pools: VIP/şowhunly berk izolýasiýa.
Admission control: kwotalar gutarsa, ýerine ýetirilmezlik; nobatlar ulalmaýar.
Caps on concurrency: bir wagtyň özünde agyr joblary çäklendiriň.


12) Meýilnamalaryň görnüş profilleri (mysal)

yaml plans:
starter:
rate: 50  # req/s burst: 100 concurrency: 20 quotas:
daily_requests: 100_000 monthly_gb_egress: 50 business:
rate: 200 burst: 400 concurrency: 100 quotas:
daily_requests: 1_000_000 monthly_gb_egress: 500 enterprise:
rate: 1000 burst: 2000 concurrency: 500 quotas:
daily_requests: 10_000_000 monthly_gb_egress: 5000

13) Binagärlik standarty (söz shemasy)

1. Edge/API-şlýuz: TLS → konteksti aýyrmak (tenant/plan) → çäklendirmeleri/kwotalary barlamak → RateLimit- → log/trade sözbaşylaryny ýerleşdirmek.
2. Policy Engine: ileri tutulýan düzgünler (VIP), uýgunlaşma çäkleri.
3. Limiter Store: Redis/KeyDB (atomic ops, LUA), açarlary bölmek, köpeltmek.
4. Services: agyr amallar üçin ikinji çäk we caps; idempotentlik; WFQ/DRR bilen nobatlar.
5. Usage/Billing: ýygnamak, agregasiýa, invoýs, bosagalar boýunça aladalar.
6. Observability: metrikler/loglar/treysler bilen taglar, daşbordlar per-tenant.


14) Azyk önüminden öň çek-sanawy

  • Limit skoplary (tenant/user/token/endpoint/IP) we olaryň iýerarhiýasy kesgitlenildi.
  • Algoritm (Token Bucket/GCRA) we 'rate/burst' parametrleri saýlandy.
  • Agyr amallar üçin concurrency caps we admission control amala aşyryldy.
  • 'RateLimit-' we 'Retry-After' sözbaşylary goşuldy; müşderiler backoff + jitter-i goldaýarlar.
  • Paýlanan we şowsuzlyga çydamly limiter (şarlar, köpeltmek, pese gaçmak).
  • Usage-ýygnamak idempotenten; billing bilen baglanyşyk, artykmaç çykdajy üçin aladalar.
  • Syn edilişi: metrikler/söwda nokatlary/bellikler, "şowhunly" açarlar, alerter's.
  • Synaglar: burstlar, "pyçak", ýüz öwürmek, clock skew, sowuk başlamak.
  • Müşderiler üçin resminamalar: meýilnamalar boýunça çäkler, 429/Retry-After mysallary, retraýlaryň iň oňat amallary.
  • Kadadan çykmalar syýasaty: çäkleri wagtlaýyn nädip ýokarlandyrmaly we haçan.

15) Adaty ýalňyşlyklar

Per-tenant/per-endpoint bolmasa global çäk - "noisy neighbor" SLO-lary bozýar.
'burst' ýoklugy: UX gysga partlamalarda ejir çekýär.
Diňe kesgitlenen penjiräni ulanmak → "penjiräniň serhedinde goşa urgy".
Jitter → tupan gaýtalamalary bilen deňsizlik we retraýalar ýok.
Çäkler diňe serhetde, hyzmatlarda/nobatlarda caps bolmasa → içerki "dyknyşyklar".
Jogaplarda çäkleriň görkezilmezligi (ýok 'Retry-After', 'RateLimit-') → müşderiler uýgunlaşmaýarlar.
ALTP DB-de limiteriň ýagdaýyny saklamak → ýokary gizlinlik we "gyzgyn" blokirlemeler.


16) Strategiýany çalt saýlamak

Iň ýokary API: Token Bucket + uly 'burst', RateLimit- sözbaşylar, CDN/edge kesh.
Içerki agyr joblar: concurrency caps + WFQ/DRR, admission control.
Üçünji taraplar bilen integrasiýa: çykmagyň, buferleşmegiň/retraýanyň aýratyn çäkleri.
Köp tenant SaaS: çäkleriň iýerarhiýasy (global → tenant → user → endpoint), VIP ileri tutulýan ugur, aýlar boýunça kwotalar.


Netije

Gowy rate limits we kwotalar platforma bilen müşderiniň arasynda yzygiderli şertnama bolup durýar: çeşmeleriň dogruçyl paýy, partlamalara garşylygy, öňünden aýdyp boljak SLO we aç-açan billing. Algoritmleri (Token/GCRA + concurrency caps) birleşdiriň, skoplaryň iýerarhiýasyny giriziň, aýdyň sözbaşylary we metrikleri beriň we hakyky traffik profilleriniň aşagyndaky shemalary yzygiderli barlaň - platforma agressiw ýük ýokarlansa-da durnukly bolar.

Contact

Biziň bilen habarlaşyň

Islendik sorag ýa-da goldaw boýunça bize ýazyp bilersiňiz.Biz hemişe kömek etmäge taýýar.

Integrasiýany başlamak

Email — hökmany. Telegram ýa-da WhatsApp — islege görä.

Adyňyz obýýektiw däl / islege görä
Email obýýektiw däl / islege görä
Tema obýýektiw däl / islege görä
Habar obýýektiw däl / islege görä
Telegram obýýektiw däl / islege görä
@
Eger Telegram görkezen bolsaňyz — Email-den daşary şol ýerden hem jogap bereris.
WhatsApp obýýektiw däl / islege görä
Format: ýurduň kody we belgi (meselem, +993XXXXXXXX).

Düwmäni basmak bilen siz maglumatlaryňyzyň işlenmegine razylyk berýärsiňiz.