GH GambleHub

Жүктү тең салмактоо

1) Ал архитектурада эмне үчүн жана кайда

Балансировщик - кардар менен бэкенд паркынын ортосундагы "турникет". Анын максаттары:
  • жеткиликтүүлүгү (жок бир кемчилик чекити), жашыруун (p95 төмөн), масштабы (горизонталдуу), коопсуздук (TLS/WAF), релиздерди башкаруу (canary/көк-жашыл).
Колдонмо катмарлары:
  • Edge/Global: Anycast, GSLB/GeoDNS, CDN/Edge-LB, DDoS.
  • L4 (TCP/UDP): NLB, maglev, терминалдаштыруу жок прокси.
  • L7 (HTTP/2, gRPC, WebSocket, QUIC): Жол/аталыштар/маркалар, кэш/кысуу/ретра.
  • Data-tier: DB-прокси (PgBouncer/ProxySQL), Redis Cluster/Consistent Hash, Kafka partitioning.

2) баланстоо моделдер жана алгоритмдер

Round-Robin (RR): жөнөкөй бирдей.
Least Connections (LC): узак байланыштар үчүн жакшы (WS, gRPC).
Least Request/Power-of-Two (P2C): эки кокусунан салыштыруу - жакшы баланс ылдамдыгы/сапаты.
Weighted RR/LC: canary/" ысык "узел үчүн салмагы.
Consistent Hashing (CH): таблицасыз сессиялык жабышчаак (cart, Redis).
Maglev/Flow-hash: тез L3/L4 бөлүштүрүү Fapping туруктуу.
Latency-aware: p50/p95 жылма тандоо.
EWMA: кечигүү тарыхын эске алат.

Сунуш: L7 боюнча демейки P2C (least-request); stateful/кэш үчүн - consistent hash; для WS/gRPC — least-connections.

3) Апстремдердин ден соолугу: текшерүүлөр жана "чыгаруу"

Health-checks: TCP, HTTP 200/匹配 тела, gRPC status; интервалдар/таймауттар/ката босогосу.
Outlier Ejection: "ызы-чуу" учурларда Auto жокко чыгаруу (consecutive-5xx, success-rate-ejection).
Slow-start & warmup: жумшак жаңы ыкмаларды киргизүү (акырындык менен салмагын жогорулатуу).
Connection draining: өчүрүү/деплой - үзүлбөй активдүү коннекттерди "толтуруу".

4) Сессиялар жана жабышчаак (stickiness)

Cookie-stickiness (L7): `Set-Cookie: lb=<id>; SameSite; Secure`.
CH ачкыч боюнча: 'hash (userId' sessionId 'cartId)'.
IP-хэш - жабык тармактарда гана (NAT бузат).
TTL жабышчаак + fallback менен evication nodes.
Маанилүү: жабышкак муктаждыгын азайтуу → бийлик абалын сактоо (Redis/DB/JWT).

5) Global балансы (GTM/GSLB)

Anycast + health-probe: бир IP, жакын PoP жол; автоматтык Feylover.
GeoDNS/Latency-DNS: гео/кечигүү боюнча жооп.
Аймактык кластерлер: "резиденттердин маалыматтары" аймакта кала берет (GDPR); репликация менен региондор аралык failover.
Саясат: гео-блоктор, эсеп/токен боюнча "стикерегион".

6) Протоколдор жана өзгөчөлүктөрү

HTTP/2: мультиплекс, артыкчылыктар; Апстримге компетенттүү connection-pool керек.
gRPC: узакка созулган агымдар → least-connections, агрессивдүү ден соолук-текшерүү.
WebSocket/SSE: илээшкектик, чоң idle-таймауттар, TCP keep-alive.
QUIC/HTTP/3: тез баштоо, жоготууга туруктуулук; MTU/патх-MTU мониторинг жүргүзүү.
TLS-termination/mTLS: edge/L7-LB терминдер; ичинде - mTLS/identity (SPIFFE).

7) Ашыкча коргоо (overload control)

Rate-limit: per-IP, per-key, per-route; burst+sustain.
Adaptive Concurrency (Envoy): динамикалык чеги бир эле учурда суроо.
Queue/Surge-buffer: чынчыл баш тартуу менен чектелген кезек өлчөмү 503.
Hedging/Parallel racing: жай суроо-талаптарды кайталоо (гана idempotent).
Timeout budget: өзүнчө connect/read/write.
Backpressure: '503 + Retry-After', кардар экспоненциалдык Життер менен Retrais.
Slow-loris коргоо: окуу/жазуу убактысы, минималдуу ылдамдык.

8) Релиздер жана трафик менеджменти

Canary (weighted): 1–5–10–25–50–100% с guardrails (p95, 5xx, timeouts).
Blue-Green: заматта өзгөртүп, кайра - DNS/LB.
Shadow/Mirror: жоопко таасир этпестен суроо көчүрмөсү; PII жашыруу.
Header/Claim-routing: `X-Canary: 1` или `JWT. claims. region/role`.

9) Автоскейлинг жана дренаж

HPA/ASG по CPU+RPS+p95+queue-depth.
PreStop hook: коннекттердин аякташын күтүү.
Warm pool/instance reuse: суук баштоо кыскартуу.
Capacity planning: максаттуу 'utilization 60-70%' p95 менен нормалдуу.

10) Байкоо жана SLO

LB Metrics: RPS, p50/p95/p99, 4xx/5xx, open-connections, queue-len, ejections, retries, hit-ratio кэш.
Trace: 'traceparent/x-request-id' аркылуу LB → кызматтар → DB.
Логи: структуралык, PII/PAN маскалар, апстрим менен кореляция.
SLO маршруту боюнча: мисалы, 'latency p95 ≤ 300 ms', 'availability ≥ 99. 9%`, `5xx ≤ 0. 5%`.
Алерталар: четтөөлөр боюнча (burn-rate SLO, exection, 5xx/timeout өсүшү).

11) Маалымат жана кэш балансы

PostgreSQL/MySQL:
  • Read/Write split (ProxySQL/pgpool) + read-replicas; sticky-txn.
  • Failover: RPO үчүн синхрондуу реплика = 0 (кымбат).
Redis:
  • Redis Cluster + hash-slot; сессиялар үчүн - CH; Таймауттар/Retryable errors.
Kafka/Redpanda:
  • partitioning жана consumer-groups аркылуу балансы; HTTP-LB менен чаташтырбоо керек.
  • Object Storage (S3/MinIO): multi-region failover через GSLB/replication.

12) K8s жана булут LB

Service (ClusterIP/NodePort/LoadBalancer) - негизги L4.
Ingress/Gateway API - L7-багыттоо, канара салмагы, TLS.
AWS: NLB (L4, жогорку өткөрүү), ALB (L7, WAF, sticky, header-routing).
GCP: Global LB (L7/HTTP(S) с Anycast), TCP/UDP proxy LB.
Azure: Front Door (global), Application Gateway (L7), Load Balancer (L4).

13) Конфигурация мисалдары

13. 1 NGINX (L7, least_conn, sticky, canary)

nginx upstream api_pool {
least_conn;
server api-1:8080 max_fails=3 fail_timeout=10s;
server api-2:8080 max_fails=3 fail_timeout=10s;
sticky cookie lb_id expires=30m path=/ secure httponly;
}

map $http_x_canary $dst {
default api_pool;
1    canary_pool;
}

upstream canary_pool {
least_conn;
server api-canary:8080 weight=1;
}

server {
listen 443 ssl http2;
location /api/ {
proxy_read_timeout 5s;
proxy_connect_timeout 1s;
proxy_set_header X-Request-Id $request_id;
proxy_pass http://$dst;
}
}

13. 2 HAProxy (P2C, health, slowstart, stick-table)

haproxy backend api balance leastconn option httpchk GET /health default-server inter 3s fall 3 rise 2 slowstart 10s server s1 10. 0. 0. 11:8080 check server s2 10. 0. 0. 12:8080 check stick-table type ip size 100k expire 30m http-request track-sc0 src rate limit per IP http-request deny deny_status 429 if { sc_http_req_rate(0) gt 50 }

13. 3 Envoy (P2C, outlier, retries, adaptive concurrency)

yaml load_assignment: {... }
lb_policy: LEAST_REQUEST least_request_lb_config: { choice_count: 2 }
outlier_detection:
consecutive_5xx: 5 interval: 5s base_ejection_time: 30s typed_extension_protocol_options:
envoy. extensions. filters. http. adaptive_concurrency. v3. AdaptiveConcurrency:
gradient_controller_config:
sample_aggregate_percentile: PERCENTILE_50 retry_policy:
retry_on: "5xx,reset,connect-failure"
num_retries: 2 per_try_timeout: 1s

13. 4 Kubernetes (Gateway API, weighted canary)

yaml apiVersion: gateway. networking. k8s. io/v1 kind: HTTPRoute spec:
rules:
- matches: [{ path: { type: PathPrefix, value: /api }}]
backendRefs:
- name: api-v1 weight: 90 port: 8080
- name: api-v2-canary weight: 10 port: 8080

14) Чек-баракчалар

LB/маршруту бошотулганга чейин

  • Алгоритм тандалып алынган (P2C/LC/CH) трафиктин түрү боюнча.
  • Ден соолук-текшерүү жана босоголор ejection орнотулган.
  • Slow-start, warmup, connection-drain кирет.
  • TLS/mTLS, HSTS, коопсуз шифрлер; HTTP/2/3 керек болсо.
  • Sticky/CH гана керек болсо; TTL и fallback.
  • Rate-limit/burst, timeouts, retry-budget, adaptive concurrency.
  • Каттоо/соода: 'trace-id' ыргытылат; PII жашыруу.
  • SLO/Алерт p95/5xx/электр/queue-len.
  • Канар салмагы + кайра план; чоң өзгөрүүлөр менен shadow.

Төлөм/комплаенс-маршруттары үчүн

  • Idempotency POST (Idempotency-Key).
  • PSP ортосунда Failover; same-ыкмасы текшерүү.
  • Ката коддору нормалдаштырылган; ETA/кардар үчүн себептер.

DB/кэш үчүн

  • RW-split/реплика; убакыт, тармак retry.
  • Redis үчүн CH/slot-hash; "ысык ачкычтардан" коргоо.
  • Мониторинг жана replication-lag.

15) Сапат көрсөткүчтөрү (минималдуу)

Latency p50/p95/p99 жолдору/ыкмалары боюнча.
Error rate 4xx/5xx, timeout/overflow.
Open/active connections, queue depth, retry count.
Outlier ejections жана себептери.
Sticky hit-ratio / cache hit-ratio.
GSLB: аймактык бөлүштүрүү, Failovers, PoP жеткиликтүүлүгү.

16) Анти-үлгүлөрү

Бир монолиттүү LB камдык жок.
Sticky сессиясы "бардык", ордуна абалын алып салуу.
Глобалдык чексиз кезек (көйгөйдү жашырып, p99 өсөт).
Jitter/бюджет жок Retray - "бороон" суроо.
Ишеним 'X-Forwarded-For' ишенимдүү прокси тизмеси жок.
Деплояларда drain жок → WS/gRPC үзүлүшү.
Автоскейлде long-lived коннекттерди эсепке албоо.

17) iGaming өзгөчөлүгү

Чокулары жана турнирлер: тизме/тизме боюнча micro-cache (1-5 с), авто-скейл кезектешип.
Live оюндар/агымдар: LC узак байланыштар үчүн, жакынкы PoP артыкчылыктуу.
Төлөмдөр: гео/валюта/сумма/провайдер боюнча багыттоо; катуу таймауттар жана демпотенттүүлүк.
Жоопкерчиликтүү оюн жана комплаенс: деградация болгондо да лимит/блокировка суроо-талаптарын өткөрүп жиберүү артыкчылыгы (саясат боюнча fail-open/close).

18) киргизүү жараяны (4 спринт)

1. Трафик картасы: протоколдор, жүктөр p95/p99, критикалык каттамдар.
2. LB конфигурациясы: алгоритмдер, health/outlier, TLS, лимиттер/таймауттар, observability.
3. GSLB/Edge: Anycast/GeoDNS, PoP-checks, аймактык маалымат саясаты.
4. Release стратегиясы: canary/shadow, SLO-алерт, autoscale + drain, пост-окуя талдоо.

Жыйынтыктоочу шпаргалка

Трафиктин түрү (P2C/LC/CH) жана коннекттин узактыгы үчүн алгоритмди тандаңыз.
"Дени сак" агымдарды сактоо: ден соолук-текшерүү + outlier + slow-start + drain.
Жогорку жүктү башкаруу: rate-limit, adaptive concurrency, ийгиликсиз кезек.
GSLB/Anycast региондор боюнча глобалдык жеткиликтүүлүк жана комплаенс үчүн колдонуу.
Байкоо жана SLO - милдеттүү; релиздер - кайтаруу планы менен canary/shadow аркылуу.
Мүмкүн болгон жерде - LBден сессияны жана жабышкактыкты алып салыңыз.

Contact

Биз менен байланышыңыз

Кандай гана суроо же колдоо керек болбосун — бизге кайрылыңыз.Биз дайым жардам берүүгө даярбыз!

Интеграцияны баштоо

Email — милдеттүү. Telegram же WhatsApp — каалооңузга жараша.

Атыңыз милдеттүү эмес
Email милдеттүү эмес
Тема милдеттүү эмес
Билдирүү милдеттүү эмес
Telegram милдеттүү эмес
@
Эгер Telegram көрсөтсөңүз — Emailден тышкары ошол жактан да жооп беребиз.
WhatsApp милдеттүү эмес
Формат: өлкөнүн коду жана номер (мисалы, +996XXXXXXXXX).

Түшүрүү баскычын басуу менен сиз маалыматтарыңыздын иштетилишине макул болосуз.