Түйүндөрдүн ортосундагы маалымат агымдары
(Бөлүм: Экосистема жана тармак)
1) Маңызы жана максаттары
Түйүндөрдүн ортосундагы маалымат агымдары - экосистеманын ролдору (валидаторлор/ридерлер/индексторлор/көпүрөлөр/шлюздер/сактагычтар/аналитика) ортосундагы окуяларды, абалдарды жана артефакттарды башкарылуучу берүү каналдары. Максаттары:- Алдын ала: туруктуу SLO кечигүү/ийгилик/сергектик.
- Ишенимдүүлүк: жоготууларга, дубликаттарга, реоргдорго туруктуулук.
- Коопсуздук жана комплаенс: шифрлөө, кол тамгалар, резиденттик.
- Масштабдуулугу: гео-бөлүштүрүү, партиялаштыруу, QoS.
2) Агымдардын таксономиясы
1. Control Plane: Control Plane: Control Plane, Ficheflags, багыттоо саясаты/чеги.
2. Data Plane - окуя: домендик окуялар ('deposit.', 'payout.', 'bridge.').
3. Data Plane - агым: узак мөөнөттүү агымдар (gRPC/WebSocket) сигналдар жана Live-метр үчүн.
4. Batch/Backfill: жүктөмөлөр тарыхый тилкелер, репликалар, снапшоттор.
5. Репликация/анти-энтропия: мамлекеттик sync, мерклизациялоо, CRDT агымдары.
6. Телееметрия/байкоо: Логи/метрика/Tracks side-band, негизги UX тоскоолдук жок.
Ар бир түргө QoS класстары жана өзүнүн ретра/тартип эрежелери туура келет.
3) Топология жана багыттоо
Hub-and-Spoke: шиналар сыяктуу аймактык борборлор; споуктар - ролдордун түйүндөрү.
Mesh/P2P: репликация/мемсип үчүн жарым-жартылай клеткалуулук.
Edge-Tiered: жука edge-шлюздар (rate-limit/кэш) → калың аймактык кластерлер.
Geo-Routing: Anycast/Latency-Aware LB + резиденттик эрежелери.
Негизги - партиялаштыруу: 'partition _ key = chainId' tenant 'topic' entityId 'болжолдуу тартипти жана масштабды берет.
4) Транспорт жана форматтар
HTTP/2/3, gRPC/QUIC - төмөн латенттүүлүк, multiplexing, keepalive.
Kafka/Pulsar/NATS - ырааттуу/партиялар/консюмер-топтор менен кезек.
WebSocket - push-окуялар жана live-каналдар.
Форматтар: Protobuf/Euro (эволюциялык схемалар), тышкы API үчүн JSON.
Хеш-дареги жана Merkle-дүмүрчөктөр бүтүндүгүн текшерүү үчүн.
5) тартиби, жеткирүү жана аяктоо
Жеткирүү модели:- At-least-once (демейки; демпотенттик/дедуп талап кылынат).
- Exactly-once-Outbox аркылуу таасир/Inbox + Emempotent Counter.
- Тартиби: партиянын чегинде кепилденет; партиялар аралык тартипке кепилдик берилбейт.
- Жыйынтыктоо: статусу 'observed → confirmed (K) → finalized → invalidated (reorg)'; оптимисттик үчүн - талаш терезе.
6) Демпотенттик жана дедуп
Окуялар үчүн демпотенттик ачкычы:- `idempotency_key = ${chainId}|${block}|${tx}|${logIndex}|${type}`
- Upsert ачкычы, TTL терезелер дедушка ≥ 72 саат
- чыр-чатак боюнча payload - саясат "чындык булагы" (артыкчылык, версия, кол).
- HTTP суроолор үчүн - 'Idempotency-Key' аталышы + жооптор журналы.
7) кезек, backpressure жана квота
Кезек: партия ачкыч боюнча; "уулуу" билдирүүлөр үчүн DLQ.
Backpressure: кредиттер/токендер, max-inflight чектөө, circuit-breaker.
Квота/QoS: P0 (критикалык), P1 (продукт), P2 (bulk). Өзүнчө бассейндер/RPS/bytes/s/жазылуулар.
Admission control: "кымбат" суроо-талаптардын эрте баш тартуу, диапазондору/өлчөмдөрү боюнча коопсуздук.
8) шайкештик жана маалыматтар моделдери
партия/түйүн ичинде Read-you-write.
Региондор/партиялардын ортосундагы Eventual Consistency.
CRDT кээ бир топтомдорду чыр-эркин репликациялоо үчүн (эсептегичтер, көптүктөр).
Snapshots + журналдар үчүн тез bootstrap жана детерминацияланган replay.
9) Коопсуздук жана ишеним
mTLS түйүндөрүнүн ортосунда, ачкычтарды пиннинг, айлануу.
Кол тамгалар/Webhook, убакыт белги жана анти-replay терезелер.
Жолдо/тынч шифрлөө; аймактык ачкычтарды сегрегациялоо.
PII-минималдаштыруу: токенизациялоо, лейблдерде/метриктерде жеке маалыматтарга тыюу салуу.
10) натыйжалуулугу: пакеттөө, кысуу, кэш
Batching: overhead азайтуу үчүн майда билдирүүлөрдү топтоо.
Compression: zstd/gzip коопсуз сөздүктөр менен.
Кэш: терс жооптор жана "ысык" маалымдамалар; TTL жана иш-чара боюнча майыптыгы.
11) Маалыматтар схемалары (референттер)
Агымдардын/партиялардын реестри
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)
);
Event Journal (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/карантин
sql
CREATE TABLE dlq (
id UUID PRIMARY KEY,
stream TEXT, partition INT, offset BIGINT,
reason TEXT, payload JSONB, ts TIMESTAMPTZ
);
12) Саясат (YAML)
QoS жана лимиттер
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
Аяктоо жана терезелер
yaml finality:
eth-mainnet: { k: 12 }
polygon: { k: 256 }
optimistic: { k: 0, challenge_minutes: 20 }
Роутинг/резиденттик
yaml routing:
prefer_local_region: true fallback: [nearest_healthy, master_hub]
residency:
eu: ["eu"]
uk: ["uk"]
13) байкоо: SLI/SLO
SLI (ядро):- Latency p95/p99 (ingress→egress, per-stream/QoS).
- Success Rate / Drop Rate.
- Queue Lag p95 жана consumer lag партиялары боюнча.
- Freshness p95 (ingest→consume).
- Reorg/Invalidated Rate (ончейн болсо).
- Dedup Efficiency (% кош, Embed Idempotent).
- Geo-Hit Ratio (жергиликтүү тейлөө).
SLO
P0 latency p95 ≤ 400 мс; Success ≥ 99. 95%; Queue-lag p95 ≤ 2 с; Freshness p95 ≤ 60 с.
Dedup efficiency ≥ 99%; DLQ ≤ 0. трафиктин 1%.
Дашборддор: Streams Core/Lag & Freshness/QoS & Errors/Geo/Security (mTLS/кол тамгалар).
14) Керектөөчүлөрдүн үлгүлөрү
Outbox/Inbox: атомдук жарыялоо жана демпотенттик колдонуу.
Exactly-once-таасири: акыркы колдонулган ачкычын жана нускасын сактоо.
Watermarks: кеч окуяларды иштетүү (late data).
Idempotent Side-Effects: гана ачкычы жана жооп журналы менен тышкы суроо.
15) Деградациялык режимдер
Finalized-only mode: Биз гана жыйынтыкталган иш-чараларды берет.
Cache-only үчүн колдонмолор, тоңдуруп оор ыкмалары.
Throttle P2 жана агым үчүн "диета режими" (кыскартылган тактоо жыштыгы).
Экинчи даражадагы API үчүн Read-only.
16) Downtaym жок релиздер жана көчүрүү
Blue-Green/Канар агымдары жана Консумерлер боюнча.
Schema-first: гана талаа кошуу; MAJOR - топиктердин параллелдүү версиялары.
Offset's Migrations: shadow-консумерлер, lag/ийгилик салыштыруу, которуу.
17) Операциялык регламенттер
Күн сайын: SLO отчет (latency/success/lag/freshness), кол аудит, DLQ текшерүү.
Жума сайын: партияларды/квоталарды кайра карап чыгуу, DR тест (снапшоттон bootstrap), Dedup натыйжалуулугун талдоо.
Ай сайын: chaos-тесттер (loss/jitter, брокердин баш тартуусу, reorg-бурст), finality-терезелерди кайра карап чыгуу.
Чыгаруунун алдында: канарейка ≥ 120 мин, SLO-гейтс, кайтаруу планы.
18) Playbook окуялар
A. жарылуу Queue-Lag/керектөөчү-Lag
1. Consumers/KEDA жогорулатуу; 2) партияларды кайра бөлүштүрүүгө; 3) тоңдуруп P2 жана Bulk Jobs; 4) "ысык" ачкычтарды талдоо.
B. өсүшү p95 Latency P0
1. P2-throttle, артыкчылыктуу P0; 2) шлюздарды/брокерлерди масштабдоо; 3) кэш-колдонмолор үчүн гана; 4) outlier-ejection.
C. жогорку DLQ/дубляж
1. ID/TTL ачкычын текшерүү; 2) дедупту күчөтүү; 3) ызы-чуу өндүрүүчүнү чектөө; 4) фикстен кийин реплика.
D. drift схемалар/келишимдер
1. strict-mode киргизүү (нөлдүк кесип); 2) продюсерге маалымдоо; 3) адаптер бошотуу; 4) линтерлерди жаңыртуу.
Э. резиденттүүлүктү/кол тамгаларды бузуу
1. Экспорт/канал блогу; 2) ачкычтарды/сертификаттарды ротациялоо; 3) аудит жана пост-мортем; 4) саясатты жаңылоо.
19) Киргизүү чек-тизмеси
1. Агымдардын түрлөрүн жана партиялаштыруу ачкычын аныктаңыз.
2. Демпотенттикти/дедуп жана К/талаш терезелери менен жыйынтыктоону киргизиңиз.
3. кезектерди орнотуу, QoS, квота жана backpressure.
4. mTLS/кол жана резиденттик саясатын ишке киргизүү.
5. Схемаларды/реестрлерди (streams, offsets, dlq) жана SLI/SLO телеметриясын киргизиңиз.
6. canary/көк-жашыл жана көчүрүү схемалар downtime жок уюштуруу.
7. Деградациялык режимдерди жана инциденттердин ойноткучтарын иштеп чыгыңыз.
20) Глоссарий
Backpressure - кирүү жүгүн көзөмөлдөө (кредиттер/токендер/лимиттер).
DLQ - көйгөйлүү билдирүүлөр үчүн "өлүк кезек".
CRDT - координациясыз чыр-чатактарды чечүү менен берилиштердин түзүлүшү.
Finality - окуя/мамлекеттин кайтарылгыс.
Exactly-once таасири - кайра-коопсуз натыйжасы боюнча at-least-once жеткирүү.
Watermark - кеч окуялар үчүн иштеп чыгуу прогресс белгиси.
Outlier-ejection - бассейнден бузулган учурларды алып салуу.
Жыйынтык: түйүндөрдүн ортосундагы маалымат агымы - бул жөн гана "кезек жана угуучу" эмес, тартиптин, финалдаштыруунун, демпотенттүүлүктүн, коопсуздуктун жана байкоонун системалуу тартиби. Стандарттык партиялаштыруу ачкычтары, QoS/квоталар, катуу схемалар жана SLO, деградациялык режимдер жана плейбуктар менен бирге экосистемага масштабда жана аудит боюнча туруктуу маалыматтарды берүү каналдарын берет.