GH GambleHub

Прокси баръакс ва масир

1) Нақши прокси баръакс

Прокси баръакс - "хати пеши" платформа: TLS-ро қабул мекунад, трафикро дар болооб тақсим мекунад, сиёсати амният ва фаъолиятро татбиқ мекунад. Ҳадаф таъхири ҳадди аққал, масири пешгӯишаванда ва ҷудокунии фаврии ҳолатҳо/минтақаҳои таназзулёбанда мебошад.

2) Қабатҳо ва протоколҳо

L4: прокси TCP/UDP (гузаргоҳи SNI TLS, QUIC). Нархи паст, бидуни фаҳмидани HTTP.
L7: HTTP/1. 1-2-3, GRPC, Веб-Сокет. Масири бой (мизбон, роҳ, сарлавҳаҳо, кукиҳо), тағирот ва кэш.

Модели TLS: дар периметри (NGINX/Envoy) қатъ кунед, дар дохили - MTLS/mesh. SNI ба хостҳои маҷозӣ дар ҳамон IP иҷозат медиҳад.

3) Стратегияҳои масир (L7)

1. Мизбон: аз рӯи домен ('api. бренд. com '→ claster' brand-api ').
2. Роҳ ба роҳ: '/v1/пардохтҳо '→' пардохтҳо-svc ', '/v1/ҳамёнҳо' → 'ҳамёнҳо-svc'.
3. Сарлавҳа: 'X-Region: eu-central', 'X-Tenant: 42', 'User-Agent '/' Қабул'.
4. Дар асоси куки: санҷишҳои A/B, ҷаласаҳои часпанда.
5. Вазн/Канария: фоизи трафик ба версияи нав (1-5% → 100%).
6. Geo/ASN: аз рӯи кишвар/ASN ба наздиктарин POP/минтақа фиристода мешавад.
7. Хэшинги пайваста: ҳатмӣ кардани калид (user_id/tenant_id) ба мисоли → маҳалли ҷойгиршавии кэш/часпидан.
8. Соя/Зеркало: нусхабардории трафик ба "соя" дар болооб бидуни таъсир ба вокуниш (барои санҷишҳои регрессия).

4) Мувозинат ва таҳаммулпазирии гуноҳ

Алгоритмҳо: мудаввар-робин, камтарин дархост, тасодуфӣ, ҳалқа-ҳаш (пайваста).
Санҷишҳои саломатӣ: фаъол (HTTP/TCP) + ғайрифаъол (аз рӯи рамзҳо/вақтҳо).
Хуруҷи берунӣ: муваққатан соҳибро бо хатогӣ/таъхири зиёд "мекушед".
Retits: маҳдуд, бо танаффуси ҳар як санҷиш ва jitter; усулҳои хатарнокро бидуни idempotency бозпас нагиред.
Ҷамъоварии пайвастшавӣ: ҳавзҳои гармро то болооб нигоҳ доред, баландиро маҳдуд кунед.

5) Иҷрои периметри

Caching: бо калид (усул + хост + роҳ + Vary), шартҳои 'ET' ag/If-None-Match ', TTL ва кӯҳна-дар ҳоле ки-таҷдиди назар.
Фишурдасозӣ: brotli/gzip барои ҷавобҳои матнӣ.
HTTP/2/3: мултиплексинг, сарлавҳа-фишурдасозӣ; Мутобиқати WAF/IDS-ро тафтиш кунед.
Якҷоя кардани дархост - Ҷамъ кардани дархостҳои ҳамзамон барои ҳамон калиди кэш.

6) Амният дар прокси

TLS: 1. 2 + (беҳтар аз 1. 3), stapling OCSP, HSTS.
Филтрҳои WAF/бот: пеш аз интиқол ба барнома.
CORS/CSP/Fetch-Metadata: тибқи сиёсат.
Сарлавҳа-гигина: 'X-Forwarded-For/Proto', 'Фиристода', 'traceparent'; сар-тазриқ ва муҳофизати аз ҳад зиёд.
Маҳдудиятҳои бадан/сарлавҳаҳо: барвақти 413/431 барои намунаҳои DOS.
MTLS барои ҳамгироии шарикӣ ва API-ҳои дохилӣ.

7) Схемаҳои густариш: канарӣ/кабуд-сабз/версияҳо

Масири вазни на-7 (1%, 5%, 25%, 50%, 100%).
Сарлавҳаи дарвоза: хусусиятро бо парчам/сарлавҳа (дохилӣ/санҷиш) фаъол созед.
Кабуд-сабз: коммутатсияи пурраи DNS/масир, гардиши зуд.
Соя: иҷрои мувозии версияи нав бо воридшавии ченакҳо/гузоришҳо.

8) Ҷаласаҳои часпанда ва масири ҳаш

Куки-часпак ('Set-Cookie: SRV = shard-a; Роҳ =/; HttPonly ') барои бори вазнин.
Ring-hash/пайваста аз ҷониби 'user _ id/иҷорагир _ id' - кам кардани маъюбии кэш.
Эҳтиёт: аз часпакии "абадӣ" барои навиштаҷот § нуқтаи доғ дурӣ ҷӯед; Аз иҷорагири квота истифода баред.

9) Масири минтақавӣ ва гео-масир

Anycast + geo-DNS барои интихоби наздиктарин POP.
Сарлавҳа аз ҳад зиёд (масалан, 'X-Region') барои санҷишҳо ва ислоҳи хатоҳо.
Ҳамоҳангсозӣ бо маҳаллисозии қонунии талабшуда (масир аз рӯи минтақа/қаламрав).

10) Мушоҳида ва назорат

Нишондиҳандаҳои RED: RPS, сатҳи хатогӣ (аз рӯи синф), таъхири p95/p99 барои як масир/кластер.
Outlier/саломатӣ: шумораи таҳрирҳо/recloses, суръати занг.
Гузоришҳо: сохташуда, бе PII; таносуби 'trace _ id '/' span _ id'.
Пайгирӣ (OT bel): spans ingress → router → болооб; намунаҳо дар графикаи p99.

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

11. 1 NGINX: мизбон/роҳ/вазн + кеш

nginx map $http_x_canary $canary { default 0; "1" 1; }
upstream app_v1 { least_conn; server 10. 0. 0. 1:8080 max_fails=3 fail_timeout=10s; }
upstream app_v2 { least_conn; server 10. 0. 0. 2:8080; }

server {
listen 443 ssl http2;
server_name api. example. com;

Кэш proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=apicache:256m max_size=10g inactive=10m use_temp_path=off;

location /v1/ {
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Request-ID $request_id;
proxy_read_timeout 300ms; proxy_connect_timeout 100ms;

Weighted: 5% on v2 if canary = 1, otherwise 0%
set $backend app_v1;
if ($canary) { set $backend app_v2; }
proxy_pass http://$backend;
}

Static with cache location/assets/{
proxy_cache apicache;
proxy_cache_valid 200 10m;
add_header Cache-Control "public, max-age=600";
proxy_pass http://static_cluster;
}
}

11. 2 Фиристанда: масири сарлавҳа, канарейка, берунӣ, оина

yaml static_resources:
clusters:
- name: svc_v1 type: STRICT_DNS lb_policy: LEAST_REQUEST outlier_detection:
consecutive_5xx: 5 interval: 5s base_ejection_time: 30s max_ejection_percent: 50
- name: svc_v2 type: STRICT_DNS lb_policy: LEAST_REQUEST
- name: mirror_svc type: STRICT_DNS

listeners:
- name: https filter_chains:
- filters:
- name: envoy. filters. network. http_connection_manager typed_config:
route_config:
virtual_hosts:
- name: api domains: ["api. example. com"]
routes:
- match:
prefix: "/v1"
headers:
- name: "X-Region"
exact_match: "eu"
route:
cluster: svc_v1 timeout: 350ms retry_policy:
retry_on: connect-failure,reset,5xx num_retries: 1 per_try_timeout: 200ms request_mirror_policies:
- cluster: mirror_svc runtime_key: mirror. enabled
- match: { prefix: "/v1" }
route:
weighted_clusters:
clusters:
- name: svc_v1 weight: 95
- name: svc_v2 weight: 5

11. 3 Traefik: қоидаҳо + миёнаравӣ

yaml http:
routers:
api:
rule: "Host(`api. example. com`) && PathPrefix(`/v1`)"
service: svc middlewares: [hsts, compress]
middlewares:
hsts:
headers:
stsSeconds: 31536000 stsIncludeSubdomains: true compress:
compress: {}
services:
svc:
weighted:
services:
- name: v1 weight: 95
- name: v2 weight: 5

11. 4 Кубернетҳо: Ingress + манифест барои канария (NGINX Ingress)

yaml apiVersion: networking. k8s. io/v1 kind: Ingress metadata:
name: api annotations:
nginx. ingress. kubernetes. io/canary: "true"
nginx. ingress. kubernetes. io/canary-weight: "5"
spec:
rules:
- host: api. example. com http:
paths:
- path: /v1 pathType: Prefix backend:
service:
name: svc-v1 port: { number: 8080 }

12) Тағирот ва мутобиқат

Танзими сарлавҳаҳо/роҳҳо, барӯйхатгирии 'Ҷойгиршавӣ', 'Назорати кэш-назорат'.
GRPC ↔ HTTP/JSON тавассути тарҷумонҳо (grpc-json-transcoder).
WebSocket/HTTP2 такмилдиҳӣ - Боварӣ ҳосил кунед, ки прокси 'Upgrade '/' Пайвастшавӣ' -ро аз даст медиҳад.

13) Сенарияҳои озмоишӣ ва бетартибӣ

Боркунӣ: таркишҳо, доманакӯҳҳои дароз, ҷасадҳои "дароз" (суст-POST).
Тазриқи таъхир/талафот ба санҷиши болооб → retits/timeout/outlier.
Нишондиҳандаҳои канарӣ: p95/p99, хатогии версияи нав ва кӯҳна; гардиши худкор аз ҷониби SLO.
Соя: муқоисаи ҷавобҳо (интихоб) ва мантиқи паҳлӯ ба паҳлӯ.

14) Антипаттернҳо

Рафъи глобалӣ, ба истиснои номутаносибӣ ва мӯҳлати ниҳоӣ § дучанд ва тӯфон.
Ҷаласаҳои часпанда бидуни назорати shards гарм → skew.
Набудани санҷишҳои тиббӣ/outlier-ejection → ҳолатҳои "пӯсида" дар ҳавз.
Сарлавҳаҳои/баданҳои бемаҳдуд → соддатарин Do-S.
Омезиши дигаргуниҳо ва амният бидуни версияи схема → регрессияи ғайричашмдошт.
Кэши ягонаи калиди глобалӣ бидуни 'Vary' → ҷавобҳои нодуруст.

15) Хусусиятҳои IGaming/Finance

Минтақа: масир аз рӯи салоҳияти бозингар/бренд; ҷудокунии минтақаҳои пардохт.
Хатсайрҳои интиқодӣ (амонатҳо/баромадҳо): танаффуси кӯтоҳ, як такрор, аблаҳӣ; кластерҳои инфиродӣ.
PSP/KYC: ҳавзҳои бахшидашуда дар болооб, сиёсати қатъии такрорӣ/танаффус, ноҳиявӣ, гео-пинҳо.
Каналҳои AB: таҷрибаҳои бехатар бо пардохт/маҳдудиятҳо танҳо барои роҳи хондан; нависед - тавассути парчамҳо ва фоизи кам.

16) Рӯйхати санҷиши омодагии Prod

  • TLS 1. 2+/1. 3, stapling OCSP, HSTS; дуруст 'X-Forwarded-'.
  • Қоидаҳои равшани масир: хост/роҳ/сарлавҳа/куки; ҳуҷҷатгузорӣ.
  • Санҷишҳо дар соҳаи тандурустӣ, ихроҷи берунӣ, танаффуси ҳар як санҷиш, бозпасгирии маҳдуд.
  • Вазн/канарӣ + соя; худкор аз ҷониби SLO/ҳушдор.
  • Кэш/фишурдасозӣ/ET bag; маҳдудиятҳои бадан/сарлавҳаҳо; дархост coalescing.
  • Гузоришҳо/роҳҳо бо 'trace _ id'; RED + ченакҳои берунӣ/саломатӣ; панели панели ҳар як масир/кластер.
  • Филтрҳои WAF/бот/CORS; муҳофизати азим ва суст-POST.
  • Хэш часпанда/пайваста дар ҷойҳои зарурӣ; назорати гармидиҳӣ.
  • Конфигуратсияҳо санҷида шудаанд, муҳоҷират бехатаранд, сирри KMS/Vault.

17) TL; ДР

Қатъи TLS дар периметр ва масир ба L7 тавассути хост/роҳ/сарлавҳа/куки. Барои релизҳо - канарейка ва сояи вазн; барои субот - санҷишҳои тиббӣ, ихроҷи берунӣ, маҳдудиятҳои маҳдуд бо вақти санҷиш. Кэш, фишурдасозӣ ва хэшинги пайдарпайро истифода баред, ки дар он p95 беҳтар мешавад. Сигналҳои RED ва ҳолати кластерро чен кунед, маҳдудиятҳои WAF ва андозаро нигоҳ доред. Барои хатсайрҳои интиқодӣ - кластерҳои алоҳида, SLA-ҳои кӯтоҳ ва идоракунии қатъии ретрас/idempotency.

Contact

Тамос гиред

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

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

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

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

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