GH GambleHub

Мувозинати сарборӣ ва нокомӣ

Мувозинати сарборӣ ва нокомӣ

1) Ҳадафҳо ва истилоҳот

Мувозинат трафикро дар ҳолатҳо/минтақаҳо/минтақаҳо барои иҷро ва устуворӣ тақсим мекунад.
Нокомӣ - нокомии назоратшаванда.
RTO/RPO - Ҳадафи вақти барқароршавӣ ва талафоти қобили қабул.
SLO: сатҳи мақсадноки мавҷудият/таъхир; ҳамчун "дарвоза" барои feilover худкор ва бозгашт хизмат мекунад.

2) Қабатҳои мувозинат

2. 1 L4 (TCP/UDP)

Тарафдор: иҷро, соддаӣ, гузариши TLS. Омӯз: Фаҳмиши масир/кукиҳо нест.
Мисолҳо: NLB/GLB, HAProxy/Envoy L4, IPVS.

2. 2 L7 (HTTP/GRPC)

Тарафдор: масири роҳ/сарлавҳаҳо, вазни канарӣ, часпанда. Омӯз: дар CPU/ниҳонӣ гаронтар аст.
Мисолҳо: NGINX/HAP .roxy/Envoy/Cloud ALB/API Gateway.

2. 3 Глобалӣ

DNS/GSLB: санҷиши саломатӣ + аксуламали гео/вазн.
Anycast/BGP: як IP дар саросари ҷаҳон, наздиктарин нуқтаи эълон.
CDN/Edge: Кэш/Feilover дар периметри.

3) Алгоритмҳои тақсимот

Мудаввар/вазн - асосӣ.
Пайвастҳои камтарин/таъхир - барои дархостҳои "вазнин".
Хэшинги пайваста - часпиши корбар/иҷорагир бидуни ҷаласаи марказӣ.
Маҳалли ҷойгиршавии ҳаш - барои кэшҳо ва хидматҳои давлатӣ.

4) Ҷаласаҳо ва часпак

Cookie-часпанда: L7 LB кукиеро барои бозгашт ба намуна муқаррар мекунад.
Src-IP часпанда: дар L4, бадтар бо NAT/CGNAT.
Хэшинги пайваста: барои кэш/чатҳои уфуқӣ беҳтар аст.
Мақсад: агар имкон бошад, хидмати бешаҳрвандиро иҷро кунед, вагарна - давлатро (ҷаласаҳо дар Редис/ДБ) барои содда кардани нокомӣ бардоред.

5) Эътимоднокӣ: санҷишҳои тиббӣ ва хориҷ кардан аз ротатсия

Санҷишҳои фаъол: HTTP 200/пробҳои амиқи тиҷорат (масалан, '/healthz/бозхонд 'бо вобастагӣ).
Пассив (муайянкунии берунӣ): ихроҷи ақиб дар 5xx/танаффус.
Гармкунӣ: ҳамворкунии намунаҳои нав (оҳиста-оҳиста).
Резиши зебо - Хориҷ кардан аз ҳавз → интизор шудани дархостҳо.

NGINX (мисол):
nginx upstream api {
zone api 64k;
least_conn;
server app-1:8080 max_fails=2 fail_timeout=10s;
server app-2:8080 max_fails=2 fail_timeout=10s;
keepalive 512;
}
proxy_next_upstream error timeout http_502 http_503 http_504;
proxy_next_upstream_tries 2;
Муайянкунии фиристодаи берунӣ (порча):
yaml outlier_detection:
consecutive_5xx: 5 interval: 5s base_ejection_time: 30s max_ejection_percent: 50

6) Идоракунии хатогиҳо: танаффус/такрорӣ/гардиш

Вақтсанҷҳо: аз танаффуси муштариён кӯтоҳтар; муайян кардани ҳар як масир.
Reties: 1-2 бо jitter ва idempotency; манъи бозпас гирифтани POST бидуни калидҳои idempotence.
Қатъи гардиш: маҳдуд кардани дархостҳо/хатогиҳои ҳамзамон; барқароршавии "нимтайёр".
Буҷетҳо: Маҳдудиятҳои бозгашт/якҷояшавии таркишҳо, то худидоракунии DDOS-ро ташкил накунанд.

7) Намунаҳои Кубернетес

Кластер/гиреҳ/порт/борбардор/Ingress - примитивҳои асосӣ.
Омодагӣ/Зиндагӣ: ҳаракати нақлиёт танҳо дар тахтаҳои тайёр.

Pod

HPA/VPA: миқёс аз рӯи ченакҳои CPU/RED, пайванд ба LB.
Хизматрасонии Топология/Топология Маслиҳатҳо: маҳал аз рӯи минтақа.
Навъи хидмат = Боркунӣ (минтақавӣ): ҳадди аққал 2 нусха дар ҳар як AZ.

Намунаи омодагӣ ба масири муҳим:
yaml readinessProbe:
httpGet: { path: /healthz/dependencies, port: 8080 }
periodSeconds: 5 failureThreshold: 2

8) Ҳаракати фаромарзӣ ва байниминтақавӣ

Multi-AZ (дар дохили минтақа): баробар тақсим кунед (LB минтақавӣ), нигаҳдорӣ - нусхаҳои синхронӣ.

Бисёр минтақа:
  • Фаъол-фаъол: ҳарду минтақа ба ҳаракати нақлиёт хизмат мерасонанд; мураккабтар - ба шумо такрори маълумот, пайдарҳамӣ ва масири ҷуғрофӣ лозим аст.
  • Фаъол-пассив: минтақаи асосӣ хизмат мекунад, захира мекунад - "гарм/гарм/хунук. "Осонтар, тезтар гузариш, аммо RPO баландтар.
Стратегияҳои GSLB:
  • Geo-DNS (минтақаи наздиктарин).
  • DNS вазн (канарейка/азнавтақсимкунӣ).
  • Дар асоси ниҳонӣ (андозагирии РТТ).
  • Failover = бо сигналҳои саломатӣ/мавҷудият (зондҳо аз якчанд нуқтаҳои интиқол).

9) Маълумот ва нокомӣ

Кэш/ҳолат: агар имкон бошад - минтақавӣ маҳаллӣ; барои фаъол-фаъол - CRDT/hashes пайваста.

DB:
  • Такрори синхронӣ = RPO паст, ниҳонии баландтар.
  • Асинхронӣ = таъхири поёнӣ, аммо RPO> 0.
  • Навбатҳо: мавзӯъҳои оинаӣ/бисёрҷанба; deduplication ҳодиса.
  • Тарҳрезии idempotency амалиёт ва механикаи такрорӣ.

10) Периметр: DNS/Anycast/BGP/CDN

DNS: TTL кӯтоҳ (30-60s) + санҷиши саломатӣ аз шабакаи шумо.
Anycast: якчанд POP бо як IP - наздиктарин трафик мегирад, feilover дар сатҳи масир аст.
CDN/Edge: кэш ва "дарвоза" барои муҳофизат, статикӣ/ВАО ҳангоми афтидани пайдоиш хидмат мерасонанд; пайдоиш-сипар + per-POP саломатӣ.

11) Конфигуратсияҳои намуна

HAP-roxy L7:
haproxy defaults timeout connect 2s timeout client 15s timeout server 15s retries 2 option redispatch

backend api balance leastconn option httpchk GET /healthz/dependencies http-check expect status 200 server app1 app-1:8080 check inter 5s fall 2 rise 2 slowstart 3000 server app2 app-2:8080 check inter 5s fall 2 rise 2 slowstart 3000
NGINX часпак po cookie:
nginx upstream api {
hash $cookie_session_id consistent;
server app-1:8080;
server app-2:8080;
}
Фиристодаи такрорӣ/танаффус (масир):
yaml route:
timeout: 2s retry_policy:
retry_on: 5xx,connect-failure,reset num_retries: 1 per_try_timeout: 500ms

12) Нокомии худкор: сигналҳо ва дарвозаҳо

Tech-SLI: 5xx-rate, p95/p99, пуррагӣ, дастони TLS, барқароркунии TCP.
Бизнес SLI: муваффақияти пасандозҳо/пардохтҳо, хатогиҳои пардохт дар PSP.
Дарвозаҳо: агар ҳадди ниҳоӣ зиёд бошад, минтақа/мисолро хомӯш кунед, вазни ҳавзи устуворро баланд кунед, GSLB-ро иваз кунед.
Китоби корӣ: дастури қадам ба қадам.

13) Санҷишҳо ва санҷишҳо (бетартибӣ ва рӯзҳои бозӣ)

Санҷишҳои бесарусомонӣ: хомӯш кардани AZ/минтақаҳо, таназзули DB/кэш, моделиронии талафоти пакет.
Рӯзи бозӣ: Омӯзиши Файловер, ки дорои гурӯҳҳои зангзанӣ мебошад.
Ташхис: пайгирӣ аз периметр ба ақиб, мувофиқати эзоҳҳо ва ченакҳо.

14) Бехатарӣ ва риояи

mTLS байни LB↔servisy, WAF/Меъёри периметри.
Минтақаҳои нокомӣ/сегментатсия: ҷудокунии таркиш-радиус.
Сиёсатҳо: манъи нуқтаи ягонаи нокомӣ (SPOF), талабот ба "нусхаҳои ҳадди ақали N/AZ".

15) Анти-намунаҳо

Як LB/як минтақа барои ҳама трафик (SPOF).
Санҷиши амиқи '/healthz 'нест (сабз - аммо DB/навбат дастрас нест).
Бозгашт бидуни idempotency → транзаксияҳои дукарата/пардохтҳо.
Як IP часпанда бо номутавозунии оммавии NAT →.
Feilover DNS бо TTL баланд (соат пеш аз гузариш).
Ҳангоми тамом шудани об резиши зебо нест - дархости танаффус.

16) Рӯйхати санҷиши амалисозӣ (0-45 рӯз)

0-10 рӯз

Интишори намунаҳо ба AZ ≥ 2; имкон медиҳад, ки омодагӣ/зинда будан, санҷиши саломатӣ.
Танзимоти L7-timeouts/retries (1 кӯшиш), муайянкунии берунӣ.
Фаъол кардани дренажи зебо ва оғози суст.

11-25 рӯз

Ворид кардани GSLB (geo/вазншуда) ё Anycast барои периметр.
Вазнҳои канарӣ/сиёсати масир; часпак тавассути куки/ҳаши пайваста.
Дарвозаҳои SLO барои худкори feilover (p95/5xx + business SLI).

26-45 рӯз

DR минтақавӣ: Фаъол-фаъол ё фаъол-пассив бо санҷиши тарҷума.
Рӯзҳои бетартибӣ бо AZ/минтақаҳо истироҳат мекунанд, хабар медиҳад RTO/RPO.
Дафтарчаи худкори 'ва (скриптҳои таваққуф/shift/rollback).

17) Нишондиҳандаҳои камолот

Фарогирии Multi-AZ ≥ 99% роҳҳои муҳим.
DNS/GSLB/Anycast барои нуқтаҳои ниҳоӣ амалӣ карда мешаванд.
MTTR вақте ки як AZ меафтад <5 дақиқа (p95).
RPO барои маълумоти муҳим ≤ ҳадаф (масалан, ≤ 30 сония).
Рӯзҳои семоҳаи бозӣ ва бомуваффақият ба нақша гирифташуда.

18) Хулоса

Мувозинати боэътимод ва нокомӣ як меъмории қабатист: L7-policies маҳаллӣ (вақт/retries/CB, санҷиши саломатӣ), часпидан ва хэш дуруст, устувории минтақаи фаромарзӣ ва периметр - GSLB/DNS/Anycast. Илова кардани дарвозаҳои SLO, idempotency, дренажи зебо ва озмоишҳои бетартибиҳои мунтазам - ва ҳама гуна аз даст додани гиреҳ, минтақа ё ҳатто минтақа як чорабинии идорашаванда бо RTO/RPO пешгӯишаванда хоҳад буд.

Contact

Тамос гиред

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

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

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

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

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