İştirakçıların qarşılıqlı əlaqə nümunələri
(Bölmə: Ekosistem və Şəbəkə)
1) Kontekst və məqsədlər
Ekosistemdə çoxlu aktorlar (operatorlar, provayderlər, ödəniş və KYC xidmətləri, filiallar, tənzimləyicilər, icmalar, tərtibatçılar) var. «Qarşılıqlı əlaqə nümunələri» uyğunluq, təhlükəsizlik, iqtisadi səmərəlilik və miqyaslılığı təmin edən dəyər və məlumat mübadiləsinin davamlı yollarıdır.
Məqsədlər:- Əməliyyat xərclərini və inteqrasiya vaxtını azaltın.
- Qovşaqlararası axınların etibarlılığını və müşahidə olunmasını artırın.
- Sürət (latency) və uyğunluq (consistency) balans.
- Qarşılıqlı əlaqə protokollarına uyğunluq və iqtisadi stimullar əlavə edin.
2) Iştirakçıların taksonomiyası və rolları
Operatorlar/tenantlar: istifadəçilər üçün son xidmət, onbording və UX sahibi.
Provayderlər/studiyalar/məzmun qovşaqları: kataloqlar/API/tədbirlər, SLA-lər təqdim edir.
Ödəniş/risk xidmətləri: avtorizasiya, klirinq, çarjbeklər, skorinq, limitlər.
Partnyorlar/affiliates: trafikə istinad edir, dönüşüm vebhukları yaradır, hesabatlar alır.
Tənzimləyicilər/audit: jurnallar, hesabatlar, məlumatların lokalizasiyası tələb olunur.
İcmalar/tərtibatçılar: SDK genişləndirmək, proqramlar/botlar/inteqrasiya yaratmaq.
3) Rabitə kanalları və nəqliyyat
Sinxron sorğular: RQ/RS üçün REST/gRPC, canlı hadisələr üçün WebSockets/SSE.
Asinxron şinlər: Kafka/AMQP/axın xidmətləri, domen hadisələri üçün Pub/Sub.
Vebhuki: xarici tərəfdaşa push-kanal (mütləq: imza, taymaut, retrai).
Fayl/batch interfeysləri: NACHA/CSV/Parquet hesabat və backfill üçün.
Edge/PoP: caching, WAF, rate-limits, imza validasiya, gecikmə azaldılması.
4) Əsas qarşılıqlı əlaqə (protokol səviyyəsinin nümunələri)
1. Request/Response (RQ/RS)
«İndi həllər» üçün istifadə edin: ödənişin avtorizasiyası, limitlərin yoxlanılması, konfiqurasiya.
Texnikalar: taymaut, circuit-breaker, jitter ilə retries, idempotent açarları.
2. Publish/Subscribe (Event-driven)
Faktları yaymaq üçün: «sövdələşmə başa çatdı», «balans dəyişdi», «oyun hadisəsi».
Texnikalar: əsas partizanlaşdırma (user_id/tenant_id), message-key dedup, jurnalın uzun müddət saxlanması.
3. Command/Reply (Asinxron komandalar)
Gecikmiş cavab/korrelyasiya ilə «correlation_id» əmri.
Texnikalar: outbox-pattern, zəmanətli nəşr, kompensasiya komandaları.
4. Webhook Callback
Təkrar çatdırılma ilə tərəfdaşlıq bildirişlərinin qəbulu (at-least-once).
Texnika: sorğu imzası, timestamp + anti-replay, qəbuledicidə idempotentlik.
5. Batch/Delta Sync
Gecə bağlama, hesabat, referans yenidən sinxronizasiya.
Texnikalar: snapshotlar + inkrementlər, nəzarət məbləğləri, versiya sxemləri.
5) Proseslərin koordinasiyası: orkestr vs xoreoqrafiya
Xoreoqrafiya (hadisə): iştirakçılar domen hadisələrinə mərkəzi koordinator olmadan reaksiya verirlər.
Üstünlüklər: zəif bağlılıq, miqyaslı. Mənfi cəhətləri: daha çətin izləmə/hadisələr.
Orkestrasiya: koordinator addımları və kompensasiyaları idarə edir.
Üstünlüklər: şəffaf nəzarət, proqnozlaşdırılabilirlik. Mənfi cəhətləri: məntiqin konsentrasiya nöqtəsi.
Saga (kompensasiya əməliyyatları): uğursuzluqlar zamanı geri dönən hərəkətlərlə addımların ardıcıllığı. Maliyyə/balans üçün - ciddi lider və kompensasiya əməliyyatlarının minimuma endirilməsi üstünlük verilir.
6) Tutarlılıq və məlumatlar
Strong: ödənişlər, limitlər, KYC statusları (vahid lider, write-through, sinxron invariantlar).
Eventual/Timeline: telemetriya, kataloqlar, marketinq hadisələri (asenxron replikasiya).
CRDT/versiyası: multi-master ssenariləri nadir münaqişələr üçün.
Outbox/CDC: hadisə «həmişə» DB-də qeyd ilə birlikdə yayımlanır.
Identifikatorlar: diaqnostika üçün regional prefikslərlə qlobal, çeşidlənmiş (ULID/KSUID).
7) Etibarlılıq və davamlılıq
İdempotentlik: sorğu/mesaj səviyyəsində açar, qəbuledicidə dedup.
Retrailer: Jitter ilə eksponensial backoff; əməliyyat ömrünün məhdudlaşdırılması.
Vaxt və gecikmə büdcəsi: kritik marşrutlar üçün p95/p99.
Backpressure: paralelliyin məhdudlaşdırılması, növbələr, prioritetləşdirmə.
Degrade modes: nasazlıqlar zamanı qismən funksionallıq (cache, gecikmiş əməliyyatlar).
Chaos/GameDays: inteqrasiya və kanal uğursuzluqları təqlidi ilə müntəzəm təlimlər.
8) Təhlükəsizlik, etimad, uyğunluq
Autentification/Authorization: OAuth2/OIDC, S2S üçün mTLS, qısamüddətli tokenlər.
Mesaj/vebhuk imzası: HMAC + timestamp + nonce.
Gizlilik/lokalizasiya: Regionun «etimad zonasında» PII/PCI, hadisələrdə məlumat sahəsinin minimuma endirilməsi (data minimization).
Audit və dəyişməz qeydlər: trace_id korrelyasiya, çatdırılma/oxu sübutlarının saxlanması.
Sirləri və açarları: KMS per-region, rotasiya, policy-as-code.
Antifrod və risk: girişdə skorinq, iştirakçı/kanal limitləri, davranış siqnalları.
9) Qarşılıqlı fəaliyyət iqtisadiyyatı və stimullar
Monetizasiya müqavilələri: RevShare/royalti, API tarifləri (tiered), SLA üçün cərimələr/kredit notları.
Fair use: kvotalar, rate-limits, tərəfdaşlıq səviyyələri üzrə prioritet.
Cost-aware routing: bir neçə təchizatçı SLA ilə bərabərdirsə - daha qənaətcil seçin.
Şəffaf hesabat: çatdırılma statusu, istehlak dashbordları, self-servis limitləri.
10) Müşahidə və SLO
Tracking: RQ/RS və hadisələr vasitəsilə trace_id/span_id.
Metriklər: latency p50/p95/p99, error rate, gecikmə növbələri, cash hitlərinin payı, egress.
Log: strukturlaşdırılmış, tenant_id/partner_id/region/release.
Alerting: SLO per-kanal və inteqrasiya; biznes təsiri prioritetləşdirilməsi (məsələn, ödənişlər> telemetriya).
11) Standart müqavilə şablonları
1. REST/gRPC müqaviləsi:
SemVer versiyası, məcburi sahələr: idempotency-key, request-id, trace-context.
Cavablar: determinik səhv kodları, retry-hints, asenkron əməliyyat statusuna link.
2. Hadisə müqaviləsi:
Поля: event_id, occurred_at, producer, subject_id, version, schema_ref.
Zəmanət: ən azı bir dəfə, əsas hissə, TTL/retention.
3. Webhook müqaviləsi:
Başlıqlar: signature, timestamp, nonce, delivery-id.
Davranış: 2xx = təsdiq; N saat backoff retrains, qəbuledici idempotent.
12) Tərəfdaşların onbordinq nümunələri
Qum qutusu və test açarları, API/tədbirlərin ictimai kataloqu, Postman/SDK, nümunələr.
Self-servis portalı: vebhukların yaradılması, hadisə filtrlərinin konfiqurasiyası, çatdırılma qeydlərinin görünüşü.
Daxili qvard relsləri: defolt limitləri, avtodeqradasiyadan əvvəl xəbərdarlıqlar.
İnteqrasiyanın sertifikatlaşdırılması: çek vərəqləri, müqavilələrin avtostestləri, status «bazarı».
13) Risklər və anti-nümunələr
Sinxron «domino zənciri»: başqalarının sistemlərində uzun RPC → kaskad faylları.
İdempotentliyin olmaması: ikiqat ödəniş/hadisə.
Versiyasız sxemlər: buraxılışlar zamanı istehlakçıları sındırın.
Bütün domen üçün qlobal «master həqiqət»: bahalı/kövrək regionlararası sabitlik.
Qeyri-şəffaf iqtisadiyyat: tərəfdaşlar istehlak görmürlər → münaqişələr və etibarsızlıq.
14) Qarşılıqlı sağlamlıq metrikası
Hadisələrin çatdırılma müvəffəqiyyəti (%) və orta gecikmə.
p95/p99 kritik marşrutlar üzrə gecikmələr (ödəniş, hesablama).
4xx/5xx inteqrasiya/kanal səhvləri, MTTR hadisələr.
İdempotent işlənmiş dublların payı, cash-hitlərin səviyyəsi.
1k sorğu/tədbir və tərəfdaş egress dəyəri.
Tərəfdaşların onbordinq çevirməsi: «key-to-first-success» vaxtı.
15) Giriş çek siyahısı
1. qarşılıqlı təsnifat: sinxron vs hadisə, kritik sabitlik.
2. SLO və taymautları təyin edin, circuit-breakers və backoff.
3. Hər yerdə idempotentliyi daxil edin (açarlar, dedup, replays).
4. Sxemlərin/müqavilələrin versiyalarını və «expand → migrate → contract» siyasətini tərtib edin.
5. Veb-hook, KMS per-region üçün imzaları və anti-replay daxil edin.
6. Self-service portalı və izləmə portalı qurun.
7. Tərəfdaşların sertifikatlaşdırılmasını və müqavilələrin regression testlərini avtomatlaşdırın.
8. İqtisadiyyat qurun: kvotalar, limitlər, hesabatlar, cost-aware marşrutlaşdırma.
9. Mütəmadi olaraq inteqrasiya üçün GameDays (kanalların deqradasiyası, kütləvi retrajlar) keçirin.
10. Domen matrisini rübdə bir dəfə nəzərdən keçirin: harada strong gücləndirmək, harada zəiflətmək.
16) FAQ
Nə seçmək lazımdır: orkestr və ya xoreoqrafiya? Mürəkkəb və kritik proseslər üçün - orkestr; geniş miqyaslı - aydın müqavilələrlə xoreoqrafiya.
«Dubl» qarşısını almaq üçün necə? İdempotent açarları + qəbuledicidə dedup + istehlakçılarda «exactly-once-like» məntiqi.
Tərəfdaşları necə tezləşdirmək olar? Qum qutusu, hazır SDK/nümunə skriptləri, avtomatik vebhuk yoxlamaları və status səhifələri.
Komplayens necə quraşdırılır? Hadisələrdə PII sahələrini minimuma endirin, əsas əməliyyatları «etimad zonalarında» saxlayın, dəyişməz audit aparın.
Xülasə: Qarşılıqlı təsir nümunələri yalnız protokollar deyil, həm də iqtisadi stimullar, qvard relsləri və müşahidə olunma toplusudur. Müqavilələri rəsmiləşdirin, domenləri tutarlılığa görə bölün, idempotentliyi və retrayları «default» edin, tərəfdaşlara şəffaf alətlər və metriklər verin və ekosistem davamlı və proqnozlaşdırıla bilən şəkildə böyüyəcəkdir.