GH GambleHub

Ýüküň deňagramlylygy we faýlower

Ýüküň deňagramlylygy we failover

1) Maksatlar we adalgalar

Deňagramlylyk öndürijilik we durnuklylyk üçin traffigi nusgalaryň/zolaklaryň/sebitleriň arasynda paýlaýar.
"Failover" - şowsuzlykda dolandyrylýan geçiş.
RTO/RPO: maksatly dikeldiş wagty we maglumatlaryň ýol berilýän ýitgisi.
SLO: elýeterliligiň/gizlinligiň maksatly derejesi; awtomatiki feýlower we yza gaýdyp gelmek üçin "derweze" bolup hyzmat edýär.

2) Deňagramlylyk gatlaklary

2. 1 L4 (TCP/UDP)

Artykmaçlyklary: öndürijilik, ýönekeýlik, TLS passthrough. Minuslar: marşruta/kukilere düşünmek ýok.
Mysal üçin: NLB/GLB, HAProxy/Envoy L4, IPVS.

2. 2 L7 (HTTP/gRPC)

Plýuslar: ýolda marşrut/hadeder, kanar agramy, sticky. Minuslar: CPU/gizlinlik boýunça has gymmat.
Mysal üçin: NGINX/HAProxy/Envoy/Cloud ALB/API Gateway.

2. 3 Global dereje

DNS/GSLB: health-checks + geo/deňagramly jogap.
Anycast/BGP: dünýäde bir IP, iň ýakyn yglan nokady.
CDN/Edge: perimetrde kesh/feýlower.

3) Paýlaýyş algoritmleri

Round-robin/weighted - esasy.
Least connections/latency - "agyr" soraglar üçin.
Consistent hashing - merkezi sessiýasyz açaryň (user/tenant) ýelmeşmegi.
Hash-based locality - keşler we stateful-hyzmatlar üçin.

4) Sessiýalar we ýapyşyklyk (sticky)

Kuki-sticky: L7 LB kukini nusgasyna gaýtaryp berýär.
Src-IP sticky: L4-de, NAT/CGNAT-da has erbet.
Consistent hashing: gorizontal keşler/söhbetdeşlikler üçin has gowudyr.
Aim: mümkin boldugyça stateless hyzmatyny ediň, ýogsam failover-i ýönekeýleşdirmek üçin ýagdaýy (Redis/DB-de sessiýalary) çykaryň.

5) Ygtybarlylygy: health-checks we aýlawdan çykarmak

Active checks: HTTP 200/iş ýollarynyň çuňňur synaglary (mysal üçin '/healthz/withdraw ').
Passive (outlier detection): 5xx/taymautlarda arka taraplaryň şöhlelenmesi.
Warm-up: täze ýagdaýlaryň ýuwaş-ýuwaşdan açylmagy.
Graceful drain: howuzdan → soraglaryň tamamlanmagyna garaşyň.

NGINX (mysal):
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;
Envoy outlier detection (bölek):
yaml outlier_detection:
consecutive_5xx: 5 interval: 5s base_ejection_time: 30s max_ejection_percent: 50

6) Şowsuzlyklary dolandyrmak: timeout/retry/circuit-breaking

Timeouts: müşderiniň wagtyndan has gysga; per-route.
Retries: 1-2 jitter we idempotentlik bilen; biperwaýlyk açarlary bolmazdan POST-da retra gadaganlygy.
Circuit breaker: bir wagtyň özünde soralýanlary/ýalňyşlyklary çäklendirmek; "ýarym açyk" dikeldiş.
Budgets: öz-DDOS-y düzmezlik üçin retraý çäkleri/burstlaryň birleşmegi.

7) Kubernetes-patternler

ClusterIP/NodePort/LoadBalancer/Ingress - esasy başlangyç.
Readiness/Liveness: traffik diňe taýýar zatlara.
PodDisruptionBudget: N replikasynyň bir wagtyň özünde düşmegine ýol bermäň.
HPA/VPA: CPU/RED metrikleri boýunça masştablamak, LB bilen baglanyşyk.
ServiceTopology/Topology Aware Hints: zona boýunça lokalizasiýa.
Service type = LoadBalancer (zonal): iň az - her AZ-da 2 bellik.

Möhüm ugur üçin readiness mysaly:
yaml readinessProbe:
httpGet: { path: /healthz/dependencies, port: 8080 }
periodSeconds: 5 failureThreshold: 2

8) Kross-zonaly we kross-sebitleýin traffik

Multi-AZ (sebitiň içinde): birmeňzeş paýlaň (zonal LB), saklamak - sinhron replikalar.

Multi-region:
  • Active-Active: iki sebit hem traffige hyzmat edýär; has kyn - maglumatlary köpeltmek, geografiýa boýunça utgaşdyrmak we ugrukdyrmak zerur.
  • Active-Passive: esasy sebit hyzmat edýär, ätiýaçlyk - "gyzgyn/ýyly/sowuk". Has aňsat, has çalt geçiş, ýöne RPO-dan ýokary.
GSLB strategiýalary:
  • Geo-DNS (iň ýakyn sebit).
  • "Weighted DNS".
  • Latency-based (RTT-ölçeg).
  • Failover = saglyk/elýeterlilik signallary boýunça (birnäçe wantage nokatlaryndan probes).

9) Maglumatlar we failover

Keş/state: mümkin boldugyça - sebitleýin; Active-Active - CRDT/konsistent eşleri.

BD:
  • Sinhron köpeltmek = pes RPO, has ýokary gizlinlik.
  • Asinxron = pes latentlik, ýöne RPO> 0.
  • Nobatlar: aýna/multiklaster topikler; wakalaryň duplikasiýasy.
  • Amallaryň we replay-mehanikanyň idempotentligini dizaýn ediň.

10) Perimetri: DNS/Anycast/BGP/CDN

DNS: gysga TTL (30-60s) + ulgamyňyzyň daşyndaky saglyk barlaglary.
Anycast: bir IP bilen birnäçe ROP - iň ýakyn ýol gatnawy, marşrut derejesinde feýlower kabul edýär.
CDN/Edge: gorag üçin nagt we "şlýuz", statika/media origin ýykylanda hyzmat edilýär; origin-shield + пер-POP health.

11) Konfigurasiýalaryň nusgalary

HAProxy 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 sticky по cookie:
nginx upstream api {
hash $cookie_session_id consistent;
server app-1:8080;
server app-2:8080;
}
Envoy retry/timeout (route):
yaml route:
timeout: 2s retry_policy:
retry_on: 5xx,connect-failure,reset num_retries: 1 per_try_timeout: 500ms

12) Awtomatiki faýlower: signallar we geýtler

Tech-SLI: 5xx-rate, p95/p99, saturation, hendşeýkalar TLS, TCP resets.
Biznes-SLI: depozitleriň/tölegleriň üstünligi, PSP-de töleg ýalňyşlyklary ýok.
Geýtler: bosagadan geçenlerinde - zonany/instansiýany öçürmek, durnukly howuzyň agramyny götermek, GSLB çalyşmak.
Runbook: üýtgetmek we yzyna gaýtarmak üçin ädimme-ädim görkezme (rollback).

13) Synaglar we barlaglar (chaos & game-days)

Chaos-synaglar: AZ/sebitleri öçürmek, BD/kesişleriň zaýalanmagy, packet-loss simulýasiýasy.
Game-day: on-call toparlarynyň gatnaşmagynda okuw feýloweri.
Diagnostika: perimetrden arka taraplara çenli ýollar, goýberiş-annotasiýalary we metrikleri deňeşdirmek.

14) Howpsuzlyk we gabat gelmek

mTLS, perimetri boýunça WAF/Rate limits.
Şowsuzlyk/segmentasiýa zolaklary: blast-radius izolýasiýasy.
Syýasatlar: ýekeje şowsuzlyk nokatlarynyň gadagan edilmegi (SPOF), "iň az N replika/AZ" boýunça talaplar.

15) Anti-patternler

Ähli senagat trafigi üçin bir LB/bir zona (SPOF).
Çuňňur barlagyň ýoklugy '/healthz '(ýaşyl - ýöne DB/nobat elýeterli däl).
Idempotentlik bolmazdan retraý → amallaryň/tölegleriň goşa.
Köpçülikleýin NAT → deňsizlikde Sticky per IP.
DNS feýlower ýokary TTL (geçiş sagady).
Doldurylanda graceful drain ýok - soraglaryň kesilmegi.

16) Giriş çek-sanawy (0-45 gün)

0-10 gün

Häkimiýetleri 2 AZ ≥ boýunça ýaýratmak; readiness/liveness, health-checks.
L7-timeouts/retries sazla (1 synanyşyk), outlier detection.
Graceful drain we slow-start.

11-25 gün

Perimetr üçin GSLB (geo/weighted) ýa-da Anycast giriň.
Kanar agramy/marşrutlaryň syýasaty; sticky cookie/consistent hash arkaly.
Awto-feýler üçin SLO-geýtlar (p95/5xx + business-SLI).

26-45 gün

Sebitleýin DR: Active-Active ýa-da Active-Passive terjime synagy bilen.
AZ/sebitleri öçürmek bilen Chaos-günler, RTO/RPO hasabatlary.
Awtomatlaşdyrylan runbook 'i (pause/shift/rollback skriptleri).

17) Kämillik ölçegleri

"Multi-AZ" -y ýapmak ≥ kritiki ýollaryň 99% -i.
DNS/GSLB/Anycast köpçüligiň dykgatyna ýetirildi.
Bir AZ düşende MTTR <5 minut (p95).
Möhüm maglumatlar ≤ maksatly RPO (mysal üçin 30 sekunt ≤).
Çärýekleýin game-days we üstünlikli meýilleşdirilen feýlower.

18) Netijenama

Ygtybarly deňagramlylyk we failover - bu gatlak arhitektura: ýerli L7-syýasatlar (timeouts/retries/CB, health-checks), dogry ýelmeşmek we kesmek, kross-zonanyň durnuklylygy we perimetrde - GSLB/DNS/Anycast. SLO-geýtleri, idempotentligi, graceful drain we yzygiderli chaos synaglaryny goşuň - we düwün, zonanyň ýa-da sebitiň islendik ýitgisi öňünden aýdyp boljak RTO/RPO bilen dolandyrylýan waka 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.