Düwünleriň arasyndaky maglumat akymlary
(Bölüm: Ekosistema we Tor)
1) düýp manysy we maksatlary
Düwünleriň arasyndaky maglumat akymlary ekosistemanyň rollarynyň arasynda (walidatorlar/riderler/indeksatorlar/köprüler/şlýuzlar/ammar/analitika) wakalary, ýagdaýlary we artefaktlary ibermegiň dolandyrylýan kanallarydyr. Maksatlar:- Öňünden aýdylýanlygy: gijä galmak/üstünlik/täzelik boýunça durnukly SLO.
- Ygtybarlylyk: ýitgilere, dublikatlara, reorglara çydamlylyk.
- Howpsuzlyk we laýyklyk: şifrlemek, gollar, rezidentlik.
- Masştablylygy: geo-paýlanyş, partizasiýa, QoS.
2) Akymlaryň taksonomiýasy
1. Control Plane: konfighi, ficheflagy, marşrut/çäk syýasaty.
2. Data Plane - waka: domen wakalary ('deposit.', 'payout.', 'bridge.').
3. Data Plane - akym: signallar we live-metrikler üçin uzak möhletli akymlar (gRPC/WebSocket).
4. Batch/Backfill: taryhy dilimleri, repleýleri, snapshotlary ýüklemek.
5. Replikasiýa/anti-entropiýa: state sync, merklizasiýa, CRDT akymlary.
6. Teleemetriýa/syn etmek: logi/metrika/side-band söwdasy, esasy UX-e päsgel bermeýär.
Her görnüşe QoS synplary we öz retraý/tertip düzgünleri laýyk gelýär.
3) Topologiýalar we marşrut
Hub-and-Spoke: şin ýaly sebit merkezleri; spouki - rollaryň düwünleri.
Mesh/P2P: köpeltmek/döwlet görnüşi üçin bölekleýin öýjüklilik.
Edge-Tiered: inçe edge-şlýuzlar (rate-limit/keş) → galyň sebit toparlary.
Geo-Routing: Anycast/Latency-Aware LB + rezidentlik düzgünleri.
Açar - partiýa: 'partition _ key = chainId' tenant 'topic' entityId 'öňünden aýdyp boljak tertibi we masştaby berýär.
4) Ulag we formatlar
HTTP/2/3, gRPC/QUIC - pes gizlinlik, multiplex, keepalive.
Kafka/Pulsar/NATS - persistentlik/partiýa/konsumer-toparlary bolan nobatlar.
WebSocket - push-wakalar we live-kanallar.
Formatlar: Protobuf/Euro (ewolýusiýa shemalary), daşarky API üçin JSON.
Bitewiligi barlamak üçin heş-salgy we Merkle-kwitansiýalary.
5) Tertibi, eltip bermek we gutarmak
Eltip bermek modeli:- At-least-once (adaty; idempotentlik/dedup talap edilýär).
- Exactly-once-effekt Outbox/Inbox + idempotent konsumer arkaly.
- Tertip: partiýanyň çäklerinde kepillendirilýär; partiýalarara tertip kepillendirilmeýär.
- Tamamlanma: statuslar 'observed → confirmed (K) → finalized → invalidated (reorg)'; optimistic üçin - jedeliň penjiresi.
6) Idempotentlik we dedup
Wakalar üçin deňlik açary:- `idempotency_key = ${chainId}|${block}|${tx}|${logIndex}|${type}`
- Upsert açary, TTL sanaw penjireleri ≥ 72 sagat.
- "Hakykat çeşmesi" syýasaty (ileri tutulýan ugur, wersiýa, gol).
- HTTP soraglary üçin - "Idempotency-Key" sözbaşy + jogaplar magazineurnaly.
7) Nobatlar, backpressure we kwotalar
Nobatlar: açar boýunça partiýa; "Zäherli" habarlar üçin DLQ.
Backpressure: kreditler/bellikler, max-inflight, circuit-breaker çäklendirmesi.
Kwotalar/QoS: P0 (möhüm), P1 (önüm), P2 (bulk). Aýratyn howuzlar/RPS/bytes/s/abonent çäkleri.
Admission control: "gymmat" haýyşlaryň irki ret edilmegi, diapazonlar/ululyklar boýunça goragçy.
8) Maglumatlaryň utgaşdyrylmagy we modelleri
Partiýa/düwün içinde okaň.
Sebitleriň/partiýalaryň arasynda "Eventual Consistency".
CRDT käbir toplumlaryň (hasaplaýjylar, köplükler) gapma-garşylykly köpeltilmegi üçin.
Snapshotlar + çalt bootstrap we kesgitlenen replay üçin magazinesurnallar.
9) Howpsuzlyk we ynam
mTLS düwünleriň arasynda, açarlaryň gysylmagy, aýlanmagy.
Habar/webhook gollary, wagt belligi we anti-replay penjiresi.
Ýolda/ýolda şifrlemek; sebit açarlaryny bölmek.
PII-minimallaşdyrmak: belliklerde/metriklerde şahsy maglumatlaryň tokenizasiýasy, gadagan edilmegi.
10) Netijeliligi: gaplamak, gysmak, nagt pul
Batching: overhead azaltmak üçin kiçi habarlary toparlamak.
Compression: howpsuz sözlükler bilen zstd/gzip.
Kesh: negatiw jogaplar we "gyzgyn" gollanmalar; TTL we waka boýunça maýyplyk.
11) Maglumatlaryň shemalary (salgylanmalar)
Akym/partiýa sanawy
sql
CREATE TABLE streams (
name TEXT PRIMARY KEY,
partitions INT,
qos TEXT, -- P0 P1 P2 retention_days INT,
schema_version TEXT
);
CREATE TABLE offsets (
stream TEXT, partition INT, consumer_group TEXT,
offset BIGINT, updated_at TIMESTAMPTZ,
PRIMARY KEY (stream, partition, consumer_group)
);
Waka žurnaly (idempotent upsert)
sql
CREATE TABLE events_core (
id UUID PRIMARY KEY,
idempotency_key TEXT UNIQUE,
ts TIMESTAMPTZ,
partition_key TEXT,
type TEXT,
payload JSONB,
status TEXT, -- observed confirmed finalized invalidated signature TEXT
);
DLQ/karantin
sql
CREATE TABLE dlq (
id UUID PRIMARY KEY,
stream TEXT, partition INT, offset BIGINT,
reason TEXT, payload JSONB, ts TIMESTAMPTZ
);
12) Syýasatlar (YAML)
QoS we çäkleri
yaml qos:
P0: { ack_timeout_ms: 2000, retries: 3, backoff_ms: [100,400,800], rps_per_org: 1500 }
P1: { ack_timeout_ms: 5000, retries: 2, rps_per_org: 800 }
P2: { best_effort: true, rps_per_org: 200 }
limits:
max_message_bytes: 1048576 max_stream_subscriptions_per_client: 20
Gutarmak we penjireler
yaml finality:
eth-mainnet: { k: 12 }
polygon: { k: 256 }
optimistic: { k: 0, challenge_minutes: 20 }
Routing/rezidentlik
yaml routing:
prefer_local_region: true fallback: [nearest_healthy, master_hub]
residency:
eu: ["eu"]
uk: ["uk"]
13) Syn edilişi: SLI/SLO
SLI (ýadro):- Latency p95/p99 (ingress→egress, per-stream/QoS).
- Success Rate / Drop Rate.
- Partiýa boýunça "Queue Lag p95" we "consumer lag".
- Freshness p95 (ingest→consume).
- Reorg/Invalidated Rate (onchein bolsa).
- Dedup Efficiency (idempotent siňdirilen dubllaryň%).
- Geo-Hit Ratio (ýerli hyzmat).
- P0 latency p95 ≤ 400 ms; Success ≥ 99. 95%; Queue-lag p95 ≤ 2 с; Freshness p95 ≤ 60 с.
- Dedup efficiency ≥ 99%; DLQ ≤ 0. Traffigiň 1% -i.
Daşbordlar: Streams Core/Lag & Freshness/QoS & Errors/Geo/Security (mTLS/gollar).
14) Sarp edijileriň patternleri
Outbox/Inbox: atomiki neşir we dempotent ulanmak.
Exactly-once effekti: ulanylan iň soňky açary we wersiýasyny saklaň.
Watermarks: giç wakalary gaýtadan işlemek (late data).
Idempotent Side-Effects: daşarky soraglar diňe açar we jogap magazineurnaly bilen.
15) Pese gaçmak düzgünleri
Finalized-only mode: Diňe gutarnykly wakalary berýäris.
Maglumat kitaplary üçin "Cache-only", agyr usullary doňdurmak.
Throttle P2 we akymlar üçin "berhiz tertibi" (täzelenme ýygylygy azaldy).
Ikinji derejeli API üçin okaň.
16) Taşlamasyz çykarmalar we göçmeler
Akymlar we konsumerler boýunça Blue-Green/Canary.
Schema-first: diňe meýdanlary goşmak; MAJOR - topikleriň paralel görnüşleri.
Offset göçmeleri: shadow-konsumerler, lag/üstünlik deňeşdirmesi, geçiş.
17) Operasiýa düzgünleri
Her gün: SLO hasabaty (latency/success/lag/freshness), gol barlagy, DLQ barlagy.
Her hepde: partiýa/kwota barlagy, DR synagy (snapshotdan bootstrap), Dedup Efficiency derňewi.
Her aý: chaos-synaglar (loss/jitter, brokerden ýüz öwürmek, reorg-burst), finality-penjireleri gözden geçirmek.
Goýberilmezden öň: kanareýa ≥ 120 min, SLO-geýtlar, yzyna gaýtarmak meýilnamasy.
18) Playbook hadysalary
A. Partlama Queue-Lag/Sarp ediji-Lag
1. Konsumerleri ulalt/KEDA; 2) partiýalary gaýtadan paýlamak; 3) P2 we bulk-joblary doňdurmak; 4) "gyzgyn" açarlary seljermek.
B. Ösüş p95 Latency P0
1. P2-throttle, P0 ileri tutulmagy; 2) şlýuzlary/dellallary masştab etmek; 3) diňe maglumat kitaplary üçin nagt pul; 4) outlier-ejection.
C. ýokary DLQ/dublyaj
1. Idempotentlik açaryny/TTL barlaň; 2) atamy güýçlendirmek; 3) şowhunly prodýuseri çäklendirmek; 4) fiksden soň bellik etmek.
D. Shemalary/şertnamalary düzmek
1. Strict-mode -ni açyň; 2) prodýusere habar bermek; 3) adapteri goýbermek; 4) linterleri täzelemek.
E. Rezidentligiň/gollaryň bozulmagy
1. Eksport/kanal bloky; 2) açarlaryň/sertleriň aýlanmagy; 3) audit we post-mortem; 4) syýasaty täzelemek.
19) Girizmegiň çek-sanawy
1. Akym görnüşlerini we partiýa açaryny kesgitläň.
2. K/jedeliň penjireleri bilen idempotentligi/baby we jemlemäni goşuň.
3. Nobatlary, QoS, kwotalary we backpressure sazlaň.
4. mTLS/gollary we rezidentlik syýasatyny açyň.
5. Shemalary/registrleri (streams, offsets, dlq) we SLI/SLO telemetriýasyny giriziň.
6. "canary/blue-green" we "downtime" -siz göçmegi guraň.
7. Degradasiýa düzgünlerini we wakalaryň pleýbuklaryny işläň.
20) Sözlük
Backpressure - giriş ýüküne gözegçilik (karzlar/bellikler/çäkler).
DLQ - problemaly habarlar üçin "öli nobat".
CRDT - koordinasiýa bolmazdan gapma-garşylyklary çözýän maglumatlaryň gurluşy.
Finality - hadysanyň/ýagdaýyň yzyna gaýtarylmazlygy.
Exactly-once-effekt - at-least-once gowşurylyşynyň üstünde gaýtalanýan-ygtybarly netije.
Watermark - soňraky wakalar üçin gaýtadan işlemegiň ösüşi.
Outlier-ejection - bozulan ýagdaýlary howuzdan aýyrmak.
Netije: düwünleriň arasyndaky maglumat akymlary diňe bir "nobat we diňleýji" däl, eýsem tertip-düzgüniň, jemlenişiň, idempotentligiň, howpsuzlygyň we synlanmagyň ulgamlaýyn düzgünidir. Partiýalaşdyrmagyň standart açarlary, QoS/kwotalar, berk shemalar we SLO, pese gaçýan re regimeimler we pleýbuklar bilen bilelikde ekosistemanyň geriminde we audit üçin durnukly maglumat geçiriş kanallaryny berýär.