GH GambleHub

Маҳдудиятҳо ва квотаҳо

Маҳдудиятҳо ва квотаҳо механикаи бунёдии идоракунии талабот ба захираҳои муштарак мебошанд: CPU, шабака, пойгоҳи додаҳо, навбатҳо, API-ҳои беруна. Ҳадаф ин адолат, пешгӯии SLO-ҳо ва муҳофизат аз сӯхтор, таҳқир ва "ҳамсояи пурғавғо" мебошад.


1) Мафҳумҳои асосӣ

Меъёри маҳдудият - шиддатнокии дархостҳо/амалиётҳоро маҳдуд мекунад (req/s, msg/min, bytes/sec).
Burst - инфиҷори кӯтоҳмуддати иҷозатдодашуда аз меъёри миёна.
Квота - маҳдудияти ҳаҷм дар равзанаи вақт (ҳуҷҷатҳо/рӯз, GB/моҳ).
Сарпӯши мувофиқат - маҳдуд кардани амалиёти ҳамзамон (дархостҳо/ҷойҳои кории ҳамзамон).
Миқёс - миқёс: ҳар як иҷорагир, як корбар, як нишона, нуқтаи ниҳоӣ, як IP, барои як минтақа, барои ҳар як хусусият.


2) Алгоритмҳои маҳдудкунанда

2. 1 Сатил токен

Параметрҳо: 'дараҷа' (нишонаҳо/сония), 'буридан' (андозаи сатил).
Корҳо ба монанди "кредит": нишонаҳои ҷамъшуда ба қуллаҳои кӯтоҳ имкон медиҳанд.
Мувофиқ барои API-ҳои беруна ва дархостҳои корбар.

2. 2 Сатил ихроҷ

Ҳамворона ҷараёнро бо суръати доимӣ "хун" мекунад.
Хуб барои ҳамвор кардани трафик ба пушти ҳассос.

2. 3 Тирезаи собит/лағжанда

Тирезаи собит: оддӣ, вале осебпазир ба "коммутатсияи тиреза".
Равзанаи лағжиш: ҳисоббарории дақиқтар, вале гаронтар.

2. 4 GCRA (Алгоритми меъёри умумии ҳуҷайра)

Эквиваленти токен Сатил аз ҷиҳати вақти омадани виртуалӣ.
Барои маҳдудкунандаҳои тақсимшуда (ҳолати камтар ихтилоф) дақиқ ва устувор аст.

2. 5 Маҳдудиятҳои мувофиқат

Маҳдудияти амалиётҳои ҳамзамон.
Аз фарсудашавии ҳавзҳои ришта/пайвастшавӣ ва басташавии сари хат муҳофизат мекунад.


3) Дар куҷо маҳдудиятҳоро татбиқ кардан лозим аст

Дар сарҳад (L7/API дарвоза): монеаи асосӣ, нокомии зуд (429/503), чекҳои арзон.
Хизматрасониҳои дохилӣ: ҳадди иловагӣ барои амалиёти вазнин (содирот, ҳисобот, тағирот).
Ҳангоми баромадан ба системаҳои беруна: маҳдудиятҳои инфиродӣ барои шахсони сеюм (зидди ҷазо).
Дар навбатҳо/коргарон: адолат ба ҳавзҳои муштарак.


4) Соҳаҳо ва афзалиятҳо (бисёр иҷорагир)

Ирархия: Глобалӣ → Минтақа → Иҷорагир/Нақша → Истифодабаранда/Токен → Нуқтаи ниҳоӣ/Хусусият → IP/Дастгоҳ.
Афзалият: VIP/Enterprise бештар "вазн" ва вазн мегирад, аммо SLO-ҳои умумиро вайрон накунед.
Таркиби маҳдудият: таҳаммулпазирии умумӣ = 'min (глобалӣ, минтақавӣ, иҷорагир, корбар, нуқтаи ниҳоӣ)'.


5) Квотаҳои ҳаҷм

Квотаҳои ҳаррӯза/ҳармоҳа: ҳуҷҷатҳо/рӯз, GB/моҳ, паёмҳо/дақиқа.
Ҳадди нарм/сахт: Огоҳӣ (80/90%) ва таваққуфи сахт.
Ҷамъбаст: баҳисобгирии объектҳо (ҷадвалҳо, файлҳо, рӯйдодҳо) ва "бозхонд" ба биллинг.


6) Маҳдудиятҳои тақсимшуда

Талабот: таъхири кам, пайдарҳамӣ, таҳаммулпазирии хато, миқёси уфуқӣ.

Ҳамоҳангсозии маҳаллӣ + эҳтимолият: сатилҳои рехтагарии маҳаллӣ + ҳамоҳангсозии даврӣ.
Дӯкони марказӣ: Redis/Key .DB/Memcached s LUA/ops атомӣ (INCR/PEXPIRE).
Sharding: калидҳои шакли 'limit: {доираи}: {id}: {window}' бо тақсимоти ягона.
Нишони соат: "ҳақиқат" -ро дар сервери маҳдудкунанда нигоҳ доред, на ба мизоҷон.
Idempotency: Idempotency-Keys пардохтҳои бардурӯғро кам мекунад.


7) Анти-сӯиистифода ва муҳофизат

Per-IP + изи ангуштони дастгоҳ барои нуқтаҳои ниҳоӣ.
Исботи кор/CAPTCHA дар аномалияҳо.
Суст шудан (дротлинг) ба ҷои нокомии пурра, вақте ки UX муҳимтар аст (дархости ҷустуҷӯ).
Маҳдудиятҳои мутобиқшавӣ: коҳиши динамикии ҳудудҳо барои ҳодисаҳо/таназзули гарон.


8) Рафтор ва протоколи мизоҷ

Рамзҳо: '429 Дархостҳои аз ҳад зиёд' (меъёри), '403' (квота/нақша зиёд шуд), '503' (таназзули муҳофизатӣ).

Таҷрибаи беҳтарин:
  • 'Retry-After: <сония ё HTTP-сана>' - кай бори дигар кӯшиш кардан лозим аст.
Оилаи 'Rate' Limit- '(IETF):
  • 'Меъёри маҳдудият: <лимит>; w = <тиреза>'
  • 'Меъёри боқимонда: '
  • 'Меъёри барқароркунӣ: <сония>'
  • Бозгашт: экспоненсиалӣ + ҷиттер (jitter пурра, jitter баробар).
  • Идемпотенсия: сарлавҳаи 'Idempotency-Key' ва такрори амалиёти бехатар.
  • Вақт ва бекоркунӣ: дархостҳои боздошташударо дуруст қатъ кунед, то маҳдудиятҳоро "сабт накунед".

9) Мушоҳида ва озмоиш

Теги: 'иҷорагир _ ид', 'нақша', 'корбар _ ид', 'нуқтаи ниҳоӣ', 'минтақа', 'қарор' (иҷозат додан/рад кардан), 'сабаб' (квота/меъёр/мувофиқат).
Нишондиҳандаҳо: гузариш, сатҳи нокомии 429/403/503, таъхири маҳдудкунандаи p95/p99, таносуби зарбаи кэш калид, тақсимоти нақша.
Гузоришҳои аудитӣ: сабабҳои блокҳо, калидҳои "ғалоғула".
Озмоишҳо: профилҳои сарборӣ "дидан/буридан/плато", бетартибӣ - нокомии Редис/шард, десинхронизатсияи соат.


10) Ҳамгироӣ бо биллинг

Ҳисобкунакҳои истифодабарӣ дар сарҳад ҷамъ оварда мешаванд, ки аз ҷониби гурӯҳҳо (ҳар як дақиқа N) бо idempotency ҷамъ карда мешаванд.
Хулосаи нақша: барзиёд пардохт ё муваққатан зиёд кардани нақша.
Номутобиқатӣ: истифодаи мусолиҳа ва ҳисобнома; ҳушдор ба дельта.


11) Адолат дар дохили (навбатҳо, коргарон)

Навбати вазнини одилона/DRR: Ҷудо кардани ҷойҳо ба иҷорагирон аз рӯи вазни нақша.
Ҳавзҳои коргарони иҷорагир: ҷудокунии қатъии VIP/ғавғо.
Назорати қабул: нокомӣ пеш аз иҷро, агар квотаҳо тамом шаванд; навбатҳо варам намекунанд.
Сарпӯшҳо дар мувофиқа: Маҳдудиятҳои вазнини ҳамзамон.


12) Профилҳои нақшаи муқаррарӣ (мисол)

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) Истинодҳои меъморӣ (схемаи шифоҳӣ)

1. Дарвозаи Edge/API: TLS → контексти иқтибос (иҷорагир/нақша) → маҳдудиятҳои санҷишӣ/квотаҳо → ҷойгоҳҳои сарлавҳаҳои Rate

2. Муҳаррики сиёсат: қоидаҳои афзалиятнок (VIP), ҳадди мутобиқшавӣ.
3. Дӯкони Limiter: Redis/Key-DB (ops atomic, LUA), sharding калидӣ, нусхабардорӣ.
4. Хидматҳо: лимити дуюмдараҷа ва ҳадди аққал барои амалиёти вазнин; idempotency; Навбатҳо бо WFQ/DRR.
5. Истифода/биллинг: ҷамъоварӣ, ҷамъбаст, ҳисобнома-фактура, огоҳӣ аз ҳадди ниҳоӣ.
6. Мушоҳидаҳо: ченакҳои қайдшуда/гузоришҳо/роҳҳо, панели панели ҳар як иҷорагир.


14) Рӯйхати санҷиши пеш аз фурӯш

  • Маҳдудиятҳои миқёс (иҷорагир/корбар/токен/нуқтаи ниҳоӣ/IP) ва иерархияи онҳо муайян карда шудаанд.
  • Алгоритми интихобшуда (Token Bucket/GCRA) ва параметрҳои 'rate/burst'.
  • Сарпӯшҳои мувофиқашуда ва назорати қабул барои амалиёти вазнин.
  • Сарлавҳаҳои 'Rate' ва 'Retry-After' дохил карда шудаанд; мизоҷон пушти сар + jitter дастгирӣ мекунанд.
  • Маҳдудият тақсим карда мешавад ва ба гуноҳи таҳаммулпазир (рехт, нусхабардорӣ, таназзул).
  • Ҷамъоварии истифода idempotent аст; бастабандӣ бо биллинг, огоҳиҳо барои барзиёд пардохт кардан.
  • Мушоҳида: ченакҳо/пайраҳаҳо/гузоришҳои барчасп, калидҳои "ғалоғула", тағирдиҳандаҳо.
  • Санҷишҳо: таркишҳо, "дидан", нокомии стор, соати соат, оғози хунук.
  • Ҳуҷҷатҳои муштариён: маҳдудиятҳои нақша, мисолҳо, бозпас гирифтани таҷрибаи пешқадам.
  • Сиёсати истисноӣ: Чӣ гуна бояд маҳдудиятҳо ва кай зиёд карда шаванд.

15) Хатогиҳои маъмулӣ

Рад накардани маҳдудиятҳо дар посухҳо (не 'Retry-After', 'Rate

Маҳдудияти глобалӣ бидуни ҳар як иҷорагир/нуқтаи ниҳоӣ - "ҳамсояи пурғавғо" ҳамаи SLO-ҳоро вайрон мекунад.
Набудани 'таркиш': UX дар таркишҳои кӯтоҳ азият мекашад.
Бо истифода аз танҳо равзанаи собит → "зарбаи дукарата дар сарҳади тиреза".
Ягон аблаҳӣ вуҷуд надорад ва бо ҷиттер → тӯфони такрорӣ идома дорад.
Танҳо дар сарҳад, бидуни сарпӯш дар хидматҳо/навбатҳо → "роҳбандии дохилӣ" маҳдуд аст.
Нигоҳдории ҳолати маҳдудкунанда дар пойгоҳи OLTP → ниҳонии баланд ва қуфлҳои гарм.


16) Интихоби стратегияи зуд

API-ҳои оммавӣ бо қуллаҳо: Token Bucket + 'burst' -и калон, Rate 'Limit - сарлавҳаҳо, кэши CDN/канорӣ.
Ҷабҳаҳои вазнини дохилӣ: сарпӯшҳои мувофиқат + WFQ/DRR, назорати қабул.
Интегратсия бо ҷонибҳои сеюм: маҳдудиятҳои алоҳидаи баромад, буферӣ/бозсозӣ.
Бисёр иҷорагир: иерархияи маҳдуд (глобалӣ → иҷорагир → корбар → нуқтаи ниҳоӣ), афзалияти VIP, квотаҳои ҳармоҳа.


Хулоса

Маҳдудиятҳои сатҳи хуб ва квотаҳо шартномаи системавӣ байни платформа ва муштарӣ мебошанд: ҳиссаи софдилонаи захираҳо, муқовимат ба хӯшаҳо, SLO-ҳои пешгӯишаванда ва биллинги шаффоф. Алгоритмҳоро (Token/GCRA + сарпӯшҳои мувофиқро) якҷоя кунед, иерархияи ospreysро иҷро кунед, сарлавҳаҳо ва ченакҳои возеҳро пешниҳод кунед ва нақшаҳоро дар профилҳои воқеии трафик мунтазам тафтиш кунед - бо ин роҳ платформа ҳатто бо афзоиши хашмгин устувор хоҳад буд.

Contact

Тамос гиред

Барои саволҳо ё дастгирӣ ба мо муроҷиат кунед.Мо ҳамеша омодаем!

Оғози интегратсия

Email — муҳим аст. Telegram ё WhatsApp — ихтиёрӣ.

Номи шумо ихтиёрӣ
Email ихтиёрӣ
Мавзӯъ ихтиёрӣ
Паём ихтиёрӣ
Telegram ихтиёрӣ
@
Агар Telegram нависед — ҷавобро ҳамон ҷо низ мегиред.
WhatsApp ихтиёрӣ
Формат: рамзи кишвар + рақам (масалан, +992XXXXXXXXX).

Бо фиристодани форма шумо ба коркарди маълумот розӣ ҳастед.