Jamoa likvidligi
1) Nima uchun bu zarur?
Yangi klasterlarda tezkor likvidlik. Mintaqada ishga tushirilyapti - umumiy pulni «aralashtiryapsiz».
Eng yaxshi muvofiqlik va narxlar. Chuqur bozor → kamroq «spred», yuqori EPI (samarali narx/tanlov yaxshilanishi).
Talab/taklif shoklari. Uzellar orasidagi yukning oqishi nosozlik va navbatni kamaytiradi.
Iqtisodiyot. Yuqori fill rate va ARPU xarajatlar o’rtacha o’sganda; cross-sell imkoniyati.
2) Jamoaviy likvidlik modellari
3) Arxitektura komponentlari
Orderbuk/katalog: abstraksiya ariza/offer, maqom va versiyalar, SLAs va moslik atributlari.
SOR (Smart Order Routing): narx/sifat/yurisdiksiya/latentlikni hisobga olgan holda hovuz/yetkazib beruvchini tanlash qoidalari.
Muvofiqlik: CDC va voqealar jurnallari,’event _ id’bo’yicha dedup, kompensatsiya qilingan tranzaksiyalar.
Atributsiya va billing: bitim/komissiya «egasi» kim, daʼvo oynalari, reconciliation.
Sifat va obro’: sherikning reytinglari/SLA, jarimalar, beyjlar.
Maxfiylik va mahalliylashtirish: PD niqoblash, geo-pinning, voqealarni eksport qilish qoidalari.
mermaid flowchart LR
U [Demand] --> GW [Routing Gateway]
P1 [Pool A] --- GW
P2 [Pool B] --- GW
P3 [Partner C] --- GW
GW --> SB[Settlement/Billing]
GW --> OBS[Observability/SLO]
4) Ma’lumotlar kontraktlari (maydonlarning minimumi)
yaml offer. v1:
id: uuid kind: product slot capacity price: {amount: decimal, currency: ISO4217}
quality: {rating: 0..5, sla_ttm_ms: int}
geo: {region: "EU", city: "Tallinn"}
vendor: {id: "partner-123", tier: "gold"}
terms: {ttl_s: 60, cancellation: "window:15m"}
version: 7 request. v1:
id: uuid constraints: {geo, time, price_ceiling, compliance}
qos: {max_ttm_ms: 500, min_rating: 4. 0}
trace_id: uuid consent: {...}
5) SOR: qoidalar va psevdokod
Reyting mezonlari:- `score = w_priceprice_improvement + w_slattm_slo + w_qquality + w_geodistance_penalty + w_riskvendor_risk_penalty`
python def route(request, pools):
candidates = []
for pool in pools:
if not compliant(request, pool):
continue quotes = pool. quote (request) # timebox, idempotent for q in quotes:
s = score(q, request)
candidates. append((s, pool, q))
ordered = sorted(candidates, key=lambda x: -x[0])
return best_feasible(ordered, fairness=request. fairness)
Fairness (adolat): yetkazib beruvchilarning rotatsiyasi, aylanma ulushiga kvotalar, obro "-e’tibor va yaqinda erishilgan yutuqlar bo’yicha tie-break.
6) Likvidlik metrikasi
Fill rate = yopiq buyurtmalar/barcha buyurtmalar (segment/klaster bo’yicha).
Time-to-match (p50/p95) - tanlash/bajarish vaqti.
Depth - belgilangan narx/sifat diapazonidagi arzon hajm.
Spread/EPI - benchmarkning samarali narxini yaxshilash.
Utilization - taklifni yuklash (idle% ↓ - agar SLA muvaffaqiyatsizliklarsiz bo’lsa yaxshi).
Integrity - qaytarish/fols-konversiyalar ulushi, reconciliation (<ε) dagi tafovut.
Fairness - teng sifatda yetkazib beruvchilar bo’yicha aylanmani taqsimlash dispersiyasi.
- Aktiv offerlar ≥’fill _ rate _ month ≥ 92%’.
- ’p95 _ time _ to _ match ≤ 3s’ eng yuqori soatlarda.
- `cancel_rate ≤ 1. 5% "etkazib beruvchining SLAsida’on-time ≥ 98%’.
7) Kuzatuvchanlik va dalillar bazasi
’request. sent`, `quote. received`, `match. made`, `settled`, `cancelled`, `refund`.
Trastirovka:’trace _ id’SOR orqali uzluksiz → pool → provayder.
Audit: vebxuk imzolari, orderbuk versiyalari jurnali, kotirovkalarning «skrinshoti».
Reconciliation: ikki tomonlama hisobotlar, dedup, tafovutlar <ε, shikoyatlarni yopish SLA.
8) Maxfiylik, komplayens, suverenitet
Geo-pinning: sezgir toifalar/PII ruxsat etilgan hududdan chiqmaydi.
Taxalluslashtirish: sheriklararo almashinuv uchun - faqat psevdo-identifikatorlar.
Retention kod sifatida: TTL hodisalar, oʻchirish huquqi, Legal Hold.
DPA/vebxuklar: imzo, anti-replay, sxemalarni boshqarish.
9) Operatsion model va hisob-kitoblar
Rollar: Market Operator (siz), Pullar/Sheriklar (supply), Kanallar/Vitrinalar (demand).
Tijorat: RevShare/CPA/minimal kafolatlar; yo’naltirish/narxni yaxshilash uchun «klip».
Kreditlar/jarimalar: SLA buzilganligi, soxta offeralar, hisobotlarning kelishilmaganligi uchun.
Settlement: T + N davriyligi, ushlab qolish, chargebacks, hisobot.
yaml partner_id: "pool-A"
sla:
fill_rate: ">= 90%"
on_time: ">= 98%"
quote_ttl_s: 2 limits:
rps: 200 region: ["EU","TR"]
commercials:
model: "revshare: 20% of net"
security:
webhook_signature: "Ed25519"
10) Integratsiya patternlari
Pull-quote API bilan taym-boks (idempotency-key).
’match uchun Webhooks tomonidan imzolangan. made ’/’ settled’(eksponent bilan retralar).
CDC orderbook va analitikasi uchun Event bus (voqealar versiyasi).
Batch-recon (kundalik SFTP/Blob + nazorat summalari).
Outbox/Inbox ikki tomonda + dedup.
Sxemalarni/SDK versiyalash, moslashuv oynasi.
11) Ortiqcha yuklash va belanchaklarni boshqarish
Anti-kongestiya: limiterlar, navbatlar, VIP/murakkab keyslarni ustuvorlashtirish, surge-koeffitsiyentlar.
Anti-arbitraj (zaharli): past narx/sifat bo’yicha «o’z-o’zini bajarish» taqiqlari, «ping-pong» so’rovlari monitoringi.
Anti-frod: device/xulq-atvor belgilari, honey-tokens, kechiktirilgan malaka (cool-off).
Sharaf bilan degradatsiya: mahalliy pulga fallback, shaffof yomonlashuv bilan «best-effort».
12) Mantiq namunalari (eskizlar)
12. 1 Yurisdiksiya va SLOni hisobga olgan holda routing
python def compliant(req, pool):
return (req. constraints. geo in pool. regions and pool. sla. quote_ttl_s <= 2 and pool. vendor_tier in {"gold","silver"})
12. 2 Adolat siyosati (Rego-g’oya)
rego package fairness deny["overexposed vendor"] {
usage. share[input. vendor] > 0. 45 input. vendor. tier == "silver"
}
12. 3 Orderbuk konvergensiyasi namunasi
sql
SELECT offer_id, MAX(version)-MIN(version) AS drift
FROM orderbook_events
WHERE ts >= now() - interval '5 minutes'
GROUP BY 1
HAVING MAX(version)-MIN(version) > 1; -- fragmentation signal
13) Etuklik metrikasi
Coverage: X aktiv offerlar ≥ mavjud segmentlar/hududlar ulushi.
Elasticity: + talab Δ fill rate qanchalik tez tiklanadi.
EPI/Spread-improvement: agregatsiyadan foyda vs solo-pool.
Fair-distribution: aylanma ulushining sifat bo’yicha kutilganidan chetga chiqishi.
Recon-health: tafovutlarning chastotasi/yopilish muddati.
Privacy-score: PDni siyosat chegarasidan tashqariga olib chiqmasdan yo’nalishlar ulushi.
14) Anti-patternlar
SOR va sifat qoidalarisiz yalang’och federatsiya → parchalanish, bekor qilish.
«Shisha bozor»: hamma uchun hamma narsani ochasiz - frod va narx urushi.
Hech qanday atributlar va reconciliation → abadiy bahslar va muzlatilgan to’lovlar.
Pullar orasidagi qattiq sinxronlik → kaskadli latentlik/nosozliklar.
Turli segmentlar uchun bir xil qoidalar → premium/mahalliy joylardagi tajribaning buzilishi.
TTL offerlarini e’tiborsiz qoldirish → «eskirgan» shartlar bo’yicha bitimlar.
Butun bozor uchun yagona shifrlash kaliti → maʼlumotlarni nuqtaviy ravishda «oʻchirib» boʻlmaydi.
15) Arxitektorning chek-varaqasi
1. Model (umumiy pul/federatsiya/xab) va suverenitet cheklovlari aniqlanganmi?
2. Maʼlumotlar shartnomasi (sxemalar, versiyalar, TTL, imzolar) va moslik oynasi bormi?
3. SOR fairness va bekomplar, likvidlik SLO va dashbordlar bilan amalga oshirilganmi?
4. Billing/atributsiya, da’vo oynalari, kreditlar/jarimalar yozilganmi?
5. Anti-kongestiya/anti-frod/anti-arbitraj va degradatsiya rejimi o’rnatilganmi?
6. Reconciliation va «bitim dalillari» artefaktlari yoʻlga qoʻyilganmi?
7. Maxfiylik: taxalluslashtirish, geo-pinning, retenshen, olib tashlash huquqi?
8. Mashqlar: talabning stress-cho’qqilari/pulning pasayishi/orderbukning rassinxronizatsiyasi?
9. FinOps: egress byudjeti, marshrutlash qiymati, maqsadli EPI?
10. Governance: chegaraviy ulushlar, hamkorlarni sertifikatlash, audit.
Xulosa
Jamoaviy likvidlik - bu «yana bir sherikni ulash» emas, balki bozorni loyihalashtirishdir: yagona kontraktlar va voqealar, marshrut va adolatning shaffof qoidalari, kuchli kuzatuv va hisob-kitoblar, maxfiylik va yurisdiksiya «kod sifatida». Shunday qilib, tarqoq manbalardan foydalanuvchilar uchun eng yaxshi tajribaga va butun ekotizim uchun oldindan aytib boʻladigan iqtisodiyotga ega boʻlgan talab va taklifning yagona, chuqur va barqaror havzasi tugʻiladi.