Integratsiyalashgan HUB va API-aloqalar
1) HUBning roli va javobgarlik sohasi
Integratsion HUB (keyingi o’rinlarda HUB deb ataladi) - bu platforma yadrosi va tashqi dunyo o’rtasidagi qatlamdir (o’yin provayderlari, PSP, KYC/AML, CRM, risk-skoring, antifrod, BI/analitik, bildirishnomalar). Uning vazifalari:- protokollar va formatlarni birxillashtirish;
- ishonchliligini ta’minlash (retralar, navbatlar, taymaut polislari, circuit breaker);
- xavfsizlikni kafolatlash (mTLS, OAuth2, JWT, HMAC, IP-allowlist);
- kuzatishni markazlashtirish (loglar, metriklar, trastirovkalar);
- provayderni almashtirishni soddalashtirish (adapterlar + mapping maydonlari);
- mahsulot jamoalari uchun barqaror kontraktlar berish.
2) Dizayn prinsiplari
Konsistent kontraktlar: yagona DTO/voqealar, qat’iy sxema va versiya.
Idempotentlik: soʻrov kalitlari, deduplikatsiya, xavfsiz takrorlash.
Fail-safe andoza: taymaut, backoff, circuit breaker.
Observability funksiya sifatida: hamma narsa o’lchanadigan va izlanadigan.
Integratsiyani domendan ajratish: adapterlar yadroning biznes mantiqini «bilmaydi».
Hodisa: asinxron jarayonlar uchun publish/subscribe.
Versiyalash: SemVer kontraktlari va boshqariladigan deprikatsiya.
3) Yuqori darajadagi arxitektura
API Gateway: autentifikatsiya, rate limits, kanar relizlari, WAF.
Orkestrator/Router: provayderlar, ustuvorliklar, failover, smart-routing.
Provayder adapterlari: REST/gRPC/GraphQL/WebSocket, mapping maydonlari, lokal keshlar.
EDA-shina (Kafka/RabbitMQ/NATS): «to’lov yaratildi», «KYC o’tdi», «o’yin sessiyasi boshlandi» tadbirlari.
Kontraktlar/sxemalar xizmati: JSON/Euro/Protobuf uchun Schema Registry.
Integratsiya holati ombori: idempotentlik kalitlari, korelatsiya, maqomlar.
Kuzatilishi: Prometheus/OTel + dashbordlar va alertlar.
DevPortal: integratsiya kataloglari, OpenAPI/Protobuf, misollar, qum qutilari.
4) Ma’lumotlar kontraktlari va sxemalar
Qattiq sxemalar (JSON Schema/Euro/Protobuf), kirish/chiqishda majburiy validatsiya.
Schema Registry muvofiqlik siyosati bilan (backward-compatible).
Xatolar to’g "risidagi aniq kelishuvlar (kod/tafsilotlarning yagona formati).
5) Qo’llab-quvvatlanadigan protokollar
REST (OpenAPI): universal, hujjatlashtirish oson.
gRPC: ichki aloqalar uchun yuqori unumli.
GraphQL: agregatsiyalangan namunalar kerak boʻlganda.
Webhooks: tashqi tizimlar uchun voqealar; HMAC imzosi, qayta yetkazib berish.
SSE/WebSocket: hayot voqealari oqimi (live-statuslar, tranzaktsiyalar).
6) Xavfsizlik va foydalanish
mTLS ichki xizmatlar o’rtasida.
Tashqi mijozlar uchun OAuth2/OIDC, qisqa umr ko’radigan tokenlar.
xizmat identifikatsiyalar federatsiyasi uchun JWT; claims auditi.
HMAC imzolari webhooks/tanqidiy kolbeklar uchun.
IP-allowlist, WAF, RASP, anti-bot filtrlar.
Maxfiy menejment (KMS/HSM), kalitlarni almashtirish, split-knowledge.
GDPR/PCI DSS: shaxsiy va kartochka ma’lumotlarini minimallashtirish, tokenlashtirish.
7) Yo’naltirish va orkestrlash
Policy-based routing: geo, valyuta, rad etish metrikasi, provayderning SLA bo’yicha.
Failover: PSP/provayderlar ketma-ketligi, avtomatik degradatsiya.
Circuit Breaker: Tez-tez xato qilinganda tez-tez buziladigan shoxlar.
Bulkhead: provayderlar/tenantlar/oqim puli bo’yicha izolyatsiya.
Saga/uzoq jarayonlar uchun orkestrlash (ro’yxatdan o’tish → KYC → depozit).
8) Idempotentlik va Exactly-Once (iloji boricha real)
Idempotency-Key + maqom/javob keshi.
Shina hodisalarining deduplikatsiyasi (korelatsiya kaliti).
TTL bilan «seen-requests» ombori.
http
POST /payments
Idempotency-Key: 3d8c1a4f-7f0e-4a2a-9e5a-2b8d3e7e2c11
Content-Type: application/json
json
{
"tenantId": "eu-casino-12",
"userId": "u-9812",
"currency": "EUR",
"amount": 50. 00,
"method": "card",
"metadata": {"orderId": "ORD-2025-1105-001"}
}
HUB natijani saqlab qoladi va takrorlanganda ham xuddi shunday javobni qaytaradi.
9) Navbatlar va hodisa shinasi
Kafka/NATS/RabbitMQ asinxron qadamlar uchun: KYC natijalari, to’lov holatlari, o’yin provayderi balansi.
’tenantId’,’userId’yoki’providerId’nomli mavzular.
Retention va DLQ (dead-letter) fixdan keyin avtomatik ravishda qayta yuboriladi.
Voqealarni kafolatlangan tarzda chop etish uchun yadro xizmatlarida Outbox-pattern.
10) Versiyalash va muvofiqlik
SemVer quyidagi shartnomalarda:’v1’,’v1. 1`, `v2`.
Ikkita minor versiyaning parallel mavjudligi, aniq deprikatsiya jadvali.
Silliq o’tish uchun migratsiya adapterlari (vaqtinchalik maydon mapperlari).
11) Kuzatuvchanlik va ishonchlilik
Metriklar: latency p50/p95/p99, error rate, throughput, success ratio provayderlar bo’yicha, voqealarni tasdiqlash vaqti, «Time-to-Wallet».
Treysing (OTel):’trace _ id ’/’ span _ id’orqali API chaqiruvidan provayder javobigacha.
Loglar: strukturalangan, «request _ id» korelatsiyali, PII/PAN niqoblangan.
SLO: masalan, 99. 9% muvaffaqiyatli javoblar <1. 5s tanqidiy yo’llar uchun.
Alertlar: SLO-error budget, DLQ o’sishi, retraj/taymaut anomaliyalari.
12) Qum qutilari va test konturlari
Har bir provayder uchun Sandbox: fiksturlar, javoblar emulyatorlari, ma’lumotlarni versiyalash.
Contract-testing (Pact/Buf) va SDK avtogeneratsiyasi.
«Eng yuqori turnirlar», «to’lov to’lqinlari» ssenariylari bo’yicha yuklash profillari.
13) Integratsiya toifalari (iGaming uchun misol)
To’lovlar/xulosalar: PSP, A2A/Open Banking, kripto-shlyuzlar.
KYC/AML/Xavf: shaxsni/manzilni tekshirish, sanksiya ro’yxatlari, xulq-atvor skoringi.
O’yin provayderlari/Agregatorlar: sessiyalarni ishga tushirish, o’yin tokenlari, natijalarning teskari kolbeklari.
Kommunikatsiyalar: email/SMS/push/messenjerlar.
Tahlillar/BI: Voqealar oqimi va agregatlar.
Frod/Chorjbeki: disput markazlari, xabarlar.
14) Ko’p tenantlik va hududiylik
TenantId izolyatsiyasi: shifrlash kalitlari, kvotalar, limitlar, ulanish pullari.
Geo-sharding: eng yaqin XTR/mintaqaga yo’naltirish, mahalliy qoidalarni hisobga olish.
Mahalliylashtirilgan provayderlar/to’lov usullari: yurisdiksiya va KYC-darajalar bo’yicha ro’yxat.
15) Unumdorlik va keshlash
Tokenlar keshi (PSP/KYC), provayderlarning meta-maʼlumotlar javoblari (TTL).
Connection pooling ireuse TLS-sessiyalar.
Yuqori RPS uchun Async I/O; adapterlarda batching.
Mijoz va provayder perimetrlarida rate limits.
16) Uzluksiz ssenariylar (misollar)
16. 1 Depozit (karta)
1.’POST/payments’(idempotent) → Orkestrator → PSP # 1.
2. Taymaut 2s; при `5xx/timeout` — retry с backoff; degradatsiyada - PSP # 2.
3. Payment. authorized’→ balans yadrosi → BI/antifrod.
16. 2 KYC
1.’POST/kyc/submit’→ KYC provayder adapteri.
2. Javob: webhook’kyc. result’HMAC tomonidan imzolanadi; muvaffaqiyatsiz bo’lganda - qayta yetkazib berish (N martagacha).
3. ’kyc. verified’shinaga joylashtiriladi.
16. 3 O’yin sessiyasi
1.’POST/games/session’→ agregator adapteri → sessiya tokeni.
2. Natijalar/stavkalar kolbeklari → HUB imzo va idempotentlikni tasdiqlaydi.
3. ’game’ hodisasi. round. settled’to’lovlar hisob-kitobi va hisobotga kiradi.
17) Xatolar va javobning yagona formati
Коды: `INTEGRATION_TIMEOUT`, `PROVIDER_UNAVAILABLE`, `CONTRACT_VALIDATION_FAILED`, `SECURITY_SIGNATURE_INVALID`.
Xatoning tanasi:json
{
"code": "PROVIDER_UNAVAILABLE",
"message": "Primary PSP degraded, switched to fallback",
"correlationId": "9f8e1b6a-1c2d-4b4e-9d31-91c6bc31c1d4",
"provider": "psp-1",
"hint": "Retry allowed; idempotency key required"
}
18) Xavfsiz webhooks: imzo va takrorlash
Har bir webhook’ni imzolang:
X-Signature: sha256=hex(hmac_sha256(secret, body + timestamp))
X-Timestamp: 1730812800
Vaqt driftini tekshiring va faqat yangi xabarlarni qabul qiling. Takrorlash - N gacha eksponent bo’yicha, so’ngra DLQda.
19) O’zgartirishlarni boshqarish va relizlar
Kanar adapterlari (1-5% trafik), feature flags per-tenant.
Backward-compatible relizlar: avval adapterlar, keyin shartnomalar.
Tashqi provayderlar uchun CAB/CRQ, deploy oynalari SLA bilan kelishilgan.
20) SLA / SLO / OLA
Provayderning SLAsi: aptaym ≥ 99. 9%, ack webhooks ≤ 3s, to’lovni yakunlash ≤ 30s (p95).
SLO HUB: p95 < 1. Kritik endpointlarga 5s, error-rate <0. 3%.
OLA ichida: navbat limitlari, retrajlar byudjeti, maksimal DLQ-vaqtlar.
21) Integratsiyalar katalogi va DevPortal
Provayderlar sahifalari: maqomi, adapterlar versiyasi, maydonlarga qo’yiladigan talablar, chek varaqlari.
Avtogen SDK (OpenAPI/gRPC), misollar, Postman kolleksiyalari, mock-serverlar.
Test in Sandbox tugmasi va CI integratsiyalashgan payplaynlar.
22) Xavfsizlik va komplayens
PII - log tahriri, at-rest maydonlarini shifrlash, PAN maydonlarini faqat tokenlashtirilgan shaklda shifrlash.
RBAC/ABAC operator panellari uchun, eng kam imtiyozlar prinsipi.
Rozilik registrlari (GDPR), olib tashlash/portlash huquqi.
Yangi integratsiyalar uchun vendor-xavf va DPIA.
23) Amalga oshirish rejasi (MVP → Scale)
MVP (0-2 oy): Gateway, 1-2 PSP, 1 KYC, 1 o’yin agregatori, bazaviy metriklar, idempotentlik, DLQ.
Phase 2 (3-4 oy): EDA-shina, DevPortal, kontrakt-testlar, fallback-marshrutlash, webhooks-imzo.
Phase 3 (5-6 oy): geo-rollover klasteri, SLA smart-routing, kengaytirilgan SLO/alertlar, SDK avtogen, canary.
24) Sotishdan oldingi chek-varaq
Registry shartnomalari, muvofiqlik testlari o’tdi.
Taymaut/retraj/breyker polislari topshirildi va e2e-testlar bilan qoplandi.
IdempotencyKey tanqidiy POST/PUTga kiritilgan.
Webhooks imzolari tekshirildi, takrorlar konfiguratsiya qilindi, DLQ kuzatilmoqda.
p95/p99 va error-rate metriklari SLOga mos keladi, alertlar ulangan.
KMS sirlari, rotatsiya tekshirildi; IP-allowlist/WAF aktiv.
Runbooks/hodisalar pleybuklari chop etildi, on-call chizilgan.
DevPortal va qum qutilari hamkorlar uchun mavjud, versiyalari hujjatlashtirilgan.
Qisqacha xulosa
Integratsiyalashgan HUB - bu sizning yadro va tashqi xizmatlar olami o’rtasidagi sanoat «qalqon va tarjimon». Uning kuchi - qat’iy kontraktlar, idempotentlik, hodisa shinasi, boshqariladigan versiya va kuzatuvda. Bunday arxitektura provayderlarning onbordingini tezlashtiradi, xavflarni kamaytiradi, prognoz qilinadigan SLOlarni beradi va trafikni cho’qqiga ko’paytirish va yangi bozorlarga chiqishni osonlashtiradi.