GH GambleHub

API дарвоза ва масир

1) Нақши дарвозаи API дар меъморӣ

Дарвозаи API як нуқтаи ягонаи воридшавӣ ба microservices мебошад. Оё ӯ:
  • Дархости хатсайрҳо (аз рӯи роҳ/сарлавҳа/гео/вазн/версия).
  • Периметрро муҳофизат мекунад (TLS/MTLS, WAF, DD moyo
  • Трафикро назорат мекунад (канарӣ/AB, соя/оина, сими барқ, ретрас, танаффус).
  • Стандартикунонии протоколҳо (REST/GRPC/Web-Socket), сарлавҳаҳо, рамзҳо.
  • Мушоҳидаҳо (гузоришҳо, ченакҳо, пайҳо, таносуб).
  • Дигаргуниҳо ва тасдиқҳо (JSON/XML, нормализатсия, санҷиши схема).

Барои IGaming, он инчунин мутобиқати гео (бастани кишвар/синну сол), масири пардохти оқилона ва сиёсати масъули бозӣ дар канор аст.

2) Имконоти масир

Роҳ ба роҳ: '/api/v1/payments/→ payments-svc '.
Мизбон: 'eu. апи. намуна. com → eu-edge ',' psp. намуна. com → psp-proxy '.
Сарлавҳа: 'X-Client: partner-A' → шарики пуштибонӣ; 'Қабул кунед: ариза/grpc'.
Масири гео-масир: аз ҷониби IP/ASN/кишвар (GDPR/мамнӯъиятҳои маҳаллӣ, ниҳонӣ).
Вазн/Канарӣ: '90%' дар кӯҳна, '10%' дар версияи нав; зуд баргаштан.
Масири даъво: po 'JWT. даъво мекунад. сатҳ/нақш/минтақа '(масалан, маҳдудиятҳои баланд-ғалтак → мукофоти).
Нокомӣ: масъулияти дороиҳо/дороиҳо дар байни маркази додаҳо/абр ва PSP.

3) Амнияти периметрӣ

TLS дар ҳама ҷо: TLS 1. 2 + дар намуди берунӣ, m 'TLS дар дохили (shlyuz↔servisy).
OAuth2/JWT: санҷиши имзо, аудити 'exp/nbf/aud/scope', гардиши JWKS; кэши тасдиқкунӣ бо TTL.
HMAC: Имзои бадан барои webhooks/пардохтҳо.
Калидҳои API: барои муштариёни система; шарик бо квотаҳо/нақшҳо.
WAF: қоидаҳои асосӣ (тазриқ, аномалияҳои протокол), андозаи бадан, рӯйхати кишварҳоро рад мекунад.
Муҳофизати DD mocop: маҳдудияти пайвастшавӣ, кукиҳои SYN, меъёри маҳдудият дар IP/калид/нуқтаи ниҳоӣ.
Zero-Trust: сиёсати ҳатмӣ (SPIFFE/SPIRE, шахсияти хидматҳо), принсипи ҳуқуқҳои камтарин.
Махфият: таҳрири PII дар гузоришҳо, ниқоби PAN/IBAN, сиёсати нигаҳдорӣ.

4) Маҳдудиятҳо, квотаҳо ва муҳофизат аз таркишҳо

Моди: сатил токен, сатил ихроҷ, тирезаи собит/лағжанда.
Сарҳадҳо: барои як IP, барои як калид, барои як корбар, барои як масир.

Интихобӣ:
  • Burst + устувор (масалан, '50 rps burst', '10 rps устувор').
  • Муҳофизати Retry-Budget ва Slow-Loris (танаффуси хондан).
  • Квота аз рӯи рӯз/моҳ барои шарикон.

5) Тағирот ва тасдиқкунӣ

Ба эътидол овардани сарлавҳаҳо (пайгирӣ-id, locale, id-id).
Дархост/Ҷавоб-харитасозӣ.
Тасдиқи схема (Schema OpEN/JSON Schema) пеш аз proxying - нокомии барвақти 4xx.
Фишурдасозӣ/' Қабул-рамзгузорӣ ', кэш (ба зер нигаред).

6) Кэш ва иҷро

Кэши канорӣ барои феҳристҳо, метамаълумоти ҷамъиятӣ, конфигуратсияҳо (TTL, 'ET' ag '/' If-None-Match ').
Микро-кэш 1-5 с барои GET гарм (сарбории баландро кам мекунад).
Манфӣ-кэш кӯтоҳ (дар 404/холӣ) - эҳтиёт.
Хеджинг-дархостҳо ва дархостҳои рақобатӣ барои нусхабардорӣ дар ҳадди p95>.

7) Вақтсанҷӣ, ақибнишинӣ, устуворӣ

Вақтсанҷҳо: алоҳида пайваст/хондан/навиштан; p95-нишонаҳои оқилона.
Retrai: усулҳои idempotent (GET/PUT) бо backoff + jitter; дубора буҷет.
Idempotency POST: 'Idempotency-Key' + deduplication service/gateway.
Circuit-Breaker: бо хатогиҳо/ниҳонӣ; мурофиаи нимтайёр.
Bulkhead/Ҷудокунии ҳавз аз ҷониби болооб.

8) Версия ва мутобиқат

Усулҳо:
  • URI: '/v1/... '(хатсайрҳои оддӣ, вале "ғавғо").
  • Сарлавҳа/мундариҷа-гуфтушунид: 'Қабул кунед: ариза/внд. апп. v2 + json '.
  • Хусусиятҳои парчамҳо/қобилияти сервер - барои мутобиқати ночиз.

Сиёсат: Sem-Ver, равзанаи дастгирӣ (масалан, 'v1' = 12-18 моҳ), ҷадвали депрессия, посухҳои мувофиқ барои васеъшавӣ (илова кардани майдонҳо вайрон намешавад).

9) Назорат ва назорати сифат

Таносуб: 'traceparent '/' x-request-id' лозим аст; мо онро мепартоем.
Open: Telemetry: RPS/p50/p95/p99/5xx/4xx, пуррагӣ, ченакҳои такрорӣ/ноҳиявӣ.
Гузоришҳо: JSON сохторӣ; пинҳон кардани PII; сатҳҳо аз рӯи рамз.
Интихоби пайгирӣ: ҳадафи асосӣ 5-10% + барои хатогиҳо/суст.
SLO/огоҳиҳо: аз ҷониби хатсайрҳо/мизоҷон (вақти корӣ, таъхир, хатогӣ).

10) Озод кардани идоракунии трафик

Гузариши кабуд-сабз DNS/LB.
Канария: ҳиссаи вазн/сегментҳо (минтақа, шарик, нақш).
Соя/Зеркало: нусхаи трафик ба версияи нав бидуни посух ба муштарӣ.
Kill-switch: парчам барои зуд хомӯш кардани мушкилоти болооб/хусусият.

11) Масири хатсайрҳои пардохтӣ (IGaming)

Қоидаҳои интихоби PSP: гео, асъор, маблағ, меъёри хавф, мавҷудият, комиссия.
PSP Failover: гузариши худкор дар '5xx/timeout'.
Қоидаи якхела: бо усули аслӣ бармегардад/мебарояд - дар канор санҷед.
ID пардохт: калид дар 'корбар + маблағ + асъор + мақсад'.
Шаффофияти ETA: дарвоза вазъият ва сабабҳои нокомиро илова мекунад (на рамзҳои PSP).

12) Сиёсати байниминтақавӣ ва риояи

Филтрҳои гео-филтрҳо: рӯйхати сафед/сиёҳи кишварҳо, маҳдудиятҳои синну сол, диапазони IP.
Маълумоти сокинон: масир ба кластерҳои минтақавӣ (GDPR/қонунҳои маҳаллӣ).
Гузоришҳо ва TTL: нигоҳдорӣ аз рӯи минтақа, беном кардани автоматӣ.

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

13. 1 NGINX (масир + лимит + сарлавҳа)

nginx http {
map $http_x_request_id $req_id { default $request_id; }
limit_req_zone $binary_remote_addr zone=per_ip:10m rate=20r/s;

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

Security add_header Strict-Transport-Security "max-age = 31536000" always;
add_header X-Content-Type-Options nosniff;

Limit on IP location/api/v1/{
limit_req zone=per_ip burst=40 nodelay;
proxy_set_header X-Request-Id $req_id;
proxy_set_header X-Client-Ip $remote_addr;
proxy_read_timeout 5s;
proxy_connect_timeout 1s;
proxy_pass http://payments_v1;
}

Canary traffic by header location/api/v2/{
if ($http_x_canary = "1") { proxy_pass http://payments_v2; }
proxy_pass http://payments_v1;
}
}
}

13. 2 Фиристанда (JWT, меъёри нарх, такрорӣ, берунӣ)

yaml static_resources:
listeners:
- name: https address: { socket_address: { address: 0. 0. 0. 0, port_value: 443 } }
filter_chains:
- filters:
- name: envoy. filters. network. http_connection_manager typed_config:
"@type": type. googleapis. com/envoy. extensions. filters. network. http_connection_manager. v3. HttpConnectionManager route_config:
name: local_route virtual_hosts:
- name: payments domains: ["api. example. com"]
routes:
- match: { prefix: "/api/v1/payments" }
route:
cluster: payments_v1 timeout: 5s retry_policy:
retry_on: "connect-failure,refused-stream,5xx,retriable-status-codes"
num_retries: 2 per_try_timeout: 2s http_filters:
- name: envoy. filters. http. jwt_authn typed_config:
"@type": type. googleapis. com/envoy. extensions. filters. http. jwt_authn. v3. JwtAuthentication providers:
main:
issuer: "https://auth. example. com/"
remote_jwks: { http_uri: { uri: "https://auth. example. com/.well-known/jwks. json" } }
forward: true rules:
- match: { prefix: "/api/" }
requires: { provider_name: "main" }
- name: envoy. filters. http. ratelimit
- name: envoy. filters. http. router clusters:
- name: payments_v1 connect_timeout: 0. 5s type: STRICT_DNS lb_policy: ROUND_ROBIN load_assignment: { cluster_name: payments_v1, endpoints: [{ lb_endpoints: [{ endpoint: { address: { socket_address: { address: payments, port_value: 8080 }}}}]}] }
outlier_detection: { consecutive_5xx: 5, interval: 5s, base_ejection_time: 30s }

14) Рӯйхати санҷишҳо

Пеш аз озод кардани масир

  • Нақшаи аутентификатсия (JWT/JWKS, калидҳо, кэши TTL).
  • Вақтсанҷӣ/Бозсозӣ/Идентификатсия танзим карда мешавад.
  • Маҳдудиятҳо: барои як IP, барои як калид, дар як масир; квотаҳои шарикӣ.
  • Тасдиқи нақшаи дархост/посух.
  • Гузоришҳо ва нишонаҳо бо 'пайгирӣ-id', ниқобҳои PII.
  • SLO/огоҳиҳо ва панели назоратӣ.
  • Қоидаҳои гео/мувофиқат/синну сол тафтиш карда мешаванд.

Амалиётҳо ва пардохтҳо

  • Масири оқилонаи PSP: Қоидаҳо, афзалиятҳо, Feilover.
  • Усули якхела дар канор тафтиш карда мешавад.
  • Ҳолати шаффоф ва рамзҳои хатогӣ барои муштарӣ (рамзи PSP хом нест).

Нашрияҳо

  • Canary/AB ва kill-switch, нақшаи бозгашт.
  • Трафики соя ба версияи нав, муқоисаи ченакҳо.
  • Санҷиши сарборӣ ва ҳадафҳои p95.

15) Нишондиҳандаҳои сифат (ҳадди аққал)

Дастрасӣ/SLO аз рӯи хатсайрҳо; сатҳи хатогӣ 5xx/4xx.
Latency p50/p95/p99 (беруна ва дохилӣ).
Ҳодисаҳои такрорӣ/вақт/гардиш (сатҳи садо).
Хит-таносуби кэш ва пасандозҳои RPS.
Хитҳои меъёрӣ ва дархостҳои коҳишёфта.
PSP-масирдиҳии KPI: муваффақиятҳо, TTW, фоизи feilover, комиссия.

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

Як маҳдудияти умумӣ "барои ҳама".
Рафъи "фаврӣ" бидуни ҷиттер (шиддатнокии тӯфон).
Боварӣ ба 'X-Forwarded-For' бидуни муқаррарот ва рӯйхати боэътимоди прокси.
Вақтсанҷҳои сахт ба истиснои p95 (мусбатҳои бардурӯғ).
Дигаргуниҳои сахт, ки мутобиқатро вайрон мекунанд.
Сабтҳо бо PII/PAN/асрори.
API дохилӣ ва беруниро дар ҳамон домен/сиёсат омехта кунед.

17) Намунаҳо ва хатогиҳои вокуниш (микрокопия)

429 Дархостҳои аз ҳад зиёд: "Маҳдудияти дархост расид. Дар сонияҳои N такрор кунед ё квотаро дар дафтари шарик зиёд кунед"

401/403: "Токен беэътибор аст/ба охир мерасад. Лутфан дубора ворид шавед"

408/504: "Хизматрасонӣ аз вақти пешбинишуда дарозтар ҷавоб медиҳад. Дархост қабул карда нашуд"

Ихтилофи Idempotency: "Дархост бо ин Idempotency-Key аллакай баррасӣ шудааст (мақом: муваффақият/нокомӣ)".

18) Раванди амалисозӣ (қадамҳо)

1. Модели масир: харитаи домейн/роҳ/минтақа.
2. Сиёсатҳои амниятӣ: TLS/MTLS, WAF, authn/Z, калидҳо/JWKS.
3. Эътимоднокӣ: танаффус, бозсозӣ, номутаносибӣ, схема.
4. Мушоҳида: гузоришҳо/ченакҳо/пайгирӣ, таносуб.
5. Кэш/перф: канор/микро-кэш, фишурдасозӣ, ҳавзҳои пайвастшавӣ.
6. Масири пардохт: қоидаҳо, санҷишҳо, мониторинг.
7. Варақаҳо: канарӣ/соя, куштан-гузариш, нақшаи бозгашт.
8. Мувофиқат/гео: филтрҳои кишвар, нигоҳдории маълумот, синну сол.

Варақаи ниҳоии фиреб

Периметри қатъӣ (TLS/m: TLS, WAF, маҳдудиятҳо) + трафики идорашаванда (ретрай, схема, канария).
Санҷиш ва тағирот дар канори § аз камбудиҳои "дарун" камтаранд.
Мушоҳида бо ниқобҳои пайгирӣ ва PII интихоб нест, балки стандарт аст.
Масири хатсайрҳои пардохти оқилона ва гео мутобиқат барои IGaming муҳим мебошанд.
Сиёсати амудӣ ва маҳрумкунӣ - пешгӯишаванда барои шарикон.

Contact

Тамос гиред

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

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

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

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

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