Əməliyyat və İdarəetmə → Xarici alətlərlə inteqrasiya
Xarici alətlərlə inteqrasiya
1) Niyə lazımdır
Demək olar ki, hər hansı bir məhsul platforması xarici ekosistemə əsaslanır: ödəniş provayderləri, KYC/AML, antifrod, email/SMS/push, analitika, oyun studiyası provayderləri, BI, CDP, tusk menecerləri, marketinq alətləri. Düzgün hazırlanmış inteqrasiyalar dönüşüm və aptaym artırır; savadsız - kaskad uğursuzluqları, gözlənilməz hesablar və SLA üçün cərimələr.
Məqsədlər:- Provayderləri tez və təhlükəsiz bağlayın.
- SLO biznes saxlamaq (depozit, bahis, çıxış, oyun başlamaq).
- Kvotaları/limitləri və xərcləri idarə edin.
- Arızalar və MTTR radiusunu azaltın.
2) İnteqrasiya taksonomiyası
Sinxron API (REST/gRPC/GraphQL): ani cavablar, gizli və əlçatanlıq baxımından sərt asılılıq.
Asenkron (webhook/event/queue): hadisələrin çatdırılması, təsdiqləmə, daha az vaxt əlaqəsi.
SDK/müştəri kitabxanaları: tətbiq sürəti, lakin görünməz asılılıq və «sehr» riski.
Batch/ETL/SFTP/fayl mübadiləsi: hesabatlar, reconciliation, gecə boşaltma.
iFrame/Redirect/Hosted page: sürətli, lakin az UX/Security nəzarət.
Hibrid: sinxron zəng + asenxron təsdiq (tez-tez ödənişlər/KUS üçün).
3) İnteqrasiya idarəetmə modeli (governance)
İnteqrasiya kataloqu: sahibi, əlaqə, on-call, müqavilələr (OpenAPI/AsyncAPI), versiyalar, mühit, açarlar/sirlər, kvotalar və tarif.
SLO/OLA sazişləri: istifadəçiyə nə zəmanət verdiyimizi və provayderin nə vəd etdiyini; SLO, OLA/SLA açıq əlaqəsi.
Release geytləri: consumer-driven contracts (CDC), uyğunluq testləri, kanarya aktivləşdirmələri, fitzeflages.
Məlumat siyasətləri: PII, FDPR, GDPR/CCPA, saxlama bölgələri, satıcılarla DPA.
4) Təhlükəsizlik və sirləri
Gizli saxlama: KMS/Secrets Manager, rotasiya, ən kiçik hüquqlar prinsipi, rol hesablarına daxil olmaq.
İmza və yoxlama: webhook üçün HMAC/JWS, server-server üçün mutual TLS.
IP allowlist/mTLS/WAF: daxil olan və çıxan kanalları qorumaq.
Token scope: Dar API açarları, ətraf mühitin ayrı-ayrı açarları.
Audit trail: Bütün gələn zənglər və konfiqurasiya dəyişiklikləri - audit-log.
5) Kvotalar, rate limits və etibarlılıq
Açıq rate-limit per-provider: 429/ban uçmaq deyil.
Bulkhead-izolyasiya: hər bir provayder üçün xüsusi axın/qoşulma hovuzları.
Gecikmə büdcəsinin vaxtları: «zombi çağırışları» doğurmamaq üçün.
backoff + jitter ilə retrailer: yalnız idempotent əməliyyatlar/kodlar üçün.
Circuit breaker: deqradasiya zamanı follbekə sürətli «düşmə» və geri dönüş.
Queue + Outbox: kritik əməliyyatlar üçün - zəmanətli çatdırılma və təkrar.
providers:
psp_x:
timeout_ms: 200 rate_limit_rps: 1500 retries: 2 retry_on: [5xx, connect_error]
backoff: exponential jitter: true circuit_breaker:
error_rate_threshold: 0.05 window_s: 10 open_s: 30 pool: dedicated-psp-x (max_conns: 300)
6) Müqavilələr, versiya və uyğunluq
OpenAPI/AsyncAPI + SemVer: uzantıları - backward-compatible; çıxarılması - deprekeyt dövrü ilə.
CDC testləri: istehlakçı gözləntiləri qeyd edir; provayder buraxılış uyğunsuzluq ilə bloklanır.
Schema Registry (hadisələr): sxemlərin təkamülü (Avro/JSON-Schema); siyasət can-read-old/can-write-new.
Dəyişikliklərə nəzarət: change log, miqrasiya qaydaları, köhnə versiyanın bağlanması tarixi.
7) Çərşənbə və Sandbox
Satıcıda Sandbox/Stage/Prod tələb olunur.
Test məlumatları: PII-like generatorları, uydurma kartlar/sənədlər, test pul kisələri.
Contract & integration tests: real limitləri ilə steyj qarşı.
Golden-path & chaos-path: happy-case və neqativ ssenarilər (timeouts/4xx/5xx/webhook-retries).
8) Müşahidə və daşbordlar
Метрики per-integration: `outbound_rps`, `p95/p99`, `error_rate`, `retry_rate`, `circuit_open`, `cost_per_1k_calls`.
Webhook sağlamlıq: çatdırılma gecikməsi, təkrar faiz, imza/validasiya.
Reliz/ficheflags hadisələri: qrafiklərdə şərhlər.
Asılılıq xəritəsi: dar yerlərin olduğu provayderə kim müraciət edir.
9) Hadisələr və eskalasiyalar
Alertlərin korrelyasiyası: əgər provayder getsə - inteqrasiya sahibinin peyci, bütün istehlakçılar deyil.
Avtodeqradasiya: «minimal rejim» (yüngül məzmun, sadələşdirilmiş KYC-flow, emal üçün növbələr).
Feylover/multi-satıcı: PSP-X ⇄ PSP-Y, KYC-A ⇄ KYC-B; əl və avtomatik switch.
Runbook: bir satıcı hadisəni təsdiqləmək üçün necə, kvotaları artırmaq, alternativ marşrut daxil, yuvarlanmaq.
- Diaqnostika: inteqrasiya dashboard, satıcı statusu, bizim log 'trace _ id'.
- Fəaliyyət: RPS azaltmaq, breyker açmaq, feylover açmaq, ficheflag keçid.
- Rabitə: hadisə kanalı, biznes/sapport üçün yeniləmə şablonu.
- Geri dönüş/yoxlama: p95/error-rate normal, növbə emal, limit xərcləri.
10) Xərclərin idarə edilməsi
Model SRM/SRA/SRS/zənglər üzrə: track 'cost _ per _ 1k _ calls' və «uğur dəyəri».
Kvotalar və «soft-cap»: qoruyucu eşiklər, xəbərdarlıqlar.
Caching və deadup: lazımsız zənglərin azaldılması (idempotency keys).
Hesabatlar və reconciliation: Hesabların gündəlik yoxlanılması.
11) webhooks ilə iş
Çatdırılma: 'at-least-once', eksponensial gecikmə ilə təkrar, dedup 'event _ id'.
Təhlükəsizlik: imza (HMAC/JWS), timestamp, mTLS/allowlist.
Etibarlılıq: cavab 2xx yalnız outbox/txn yazdıqdan sonra, əks halda provayder retrait.
İdempotentlik: emallayıcılar - idempotent, saxlamaq «seen events».
12) Məlumatlar, gizlilik və uyğunluq
Data minimizasiya: yalnız zəruri tələb.
PII/findans: log maskalama, tokenizasiya, şifrələmə.
Data residency: məlumatların (reyestrlərin) saxlandığı və emal edildiyi yer.
DPA/SCC: məlumat emalı müqavilələri, alt prosessorlar.
Çıxarılması/ixrac hüququ: Satıcı tərəfində API/proseslər.
13) Anti-nümunələr
Bütün satıcılar üçün ümumi əlaqə hovuzu → head-of-line blocking.
Darıxdırıcı zamanın retrayutları → «fırtına retrayları».
Heç bir imza/validasiya webhook → frod və saxta hadisələr.
Rotasiya və açıq hüquqlar olmadan mühit dəyişkən sirləri.
CDC və müqavilə versiyasının olmaması → satıcı yeniləmələri zamanı kütləvi enişlər.
Müşahidə edilmədən SDK-da güclü bağlantı → «qara qutu».
14) Giriş çek siyahısı
- Kataloqdakı inteqrasiya kartı: sahibi, SLA/OLA, tarif, əlaqə, açarlar, sxemlər.
- OpenAPI/AsyncAPI + CDC; stage testləri, kanareyka.
- Vaxt, retrailer (idempotentlik!), breyker, bulkhead, rate-limit.
- Secrets: KMS/SM, rotasiya, fərdi per-env açarları.
- Webhook: imza, dedup, təkrar çatdırılma, outbox.
- Daşbord və per-integration alertləri; relizlərin şərhləri.
- Feylover planı (ikinci provayder/əl switch), runbook və əlaqə.
- Xərc hesabatları və reconciliation.
- DPA/uyğunluq, məlumat siyasəti, audit-log.
- Əsas satıcılar üçün Game-days/chaos.
15) KPI inteqrasiya keyfiyyəti
Kritik əməliyyatlar üzrə success rate (depozit/bahis/çıxarış).
p95/p99 çıxış zəngləri.
Retry storm count/ay (hədəf → 0).
MTTD/MTTR provayder insidentləri.
Cost per 1k calls/uğurlu fəaliyyət.
CDC pass rate və inteqrasiya hadisələri olmadan relizlər payı.
Webhook latency və təkrarlanabilirlik.
16) Sürətli defoltlar
TimeOut = 70-80% budjet link; sorğunun üst vaxtı daxili məbləğdən qısadır.
Retrailer ≤ 2, yalnız 5xx/şəbəkədə, backoff + jitter ilə.
Circuit breaker: '10s', 'open = 30s', 'half-open' sınaqları üçün> 5% səhv.
Rate-limit per-provider, ayrıca qoşulma hovuzu.
Webhook: 'event _ id' dedupunu yazdıqdan sonra təsdiqləyin.
Ficheflag «minimum rejimə» sürətli keçid üçün.
17) Alert nümunələri (fikirlər)
ALERT ProviderErrorRateHigh
IF outbound_error_rate{provider="psp_x"} > 0.05 FOR 5m
LABELS {severity="critical", team="payments"}
ALERT ProviderLatencySLO
IF outbound_p99_latency_ms{provider="kyc_a"} > 300 FOR 10m
LABELS {severity="warning", team="risk"}
ALERT WebhookDeliveryDelayed
IF webhook_delivery_p95_s{provider="studio_y"} > 20 FOR 15m
LABELS {severity="warning", team="games"}
ALERT ProviderCostSpike
IF rate(provider_cost_usd_total[15m]) > 2 baseline_1w
LABELS {severity="info", team="finops"}
18) FAQ
S: Provayderin müvəqqəti uğursuzluğunu problemlərimizdən necə ayırmaq olar?
A: Simmetriyaya baxın: bütün provayder müştəriləri üçün artan səhvlər, braker açılması, daxili səhvlər/reqressiyalar yoxdur. Tracking və log s 'peer. service 'kömək edəcək.
Q: Həmişə ikinci bir provayder lazımdır?
A: Kritik yollar üçün - bəli (PSP/KYC). Daha az kritik üçün - kifayət qədər deqradasiya və caches.
Q: SDK satıcı və ya öz müştəri?
A: SDK başlanğıc sürətini sürətləndirəcək, lakin müşahidə, taymaut/retraut və pinning versiyası imkanı tələb edir. Əks halda - HTTP/gRPC üzərindəki müştəriniz.