სიგნალები კვანძებს შორის
1) სიგნალის კონცეფცია
სიგნალი - ქსელში სემანტიკური კომუნიკაციის მინიმალური ერთეული: ღონისძიება, მოთხოვნა, დადასტურება, სტატუსი, ზღვარი, პოლიტიკა. „ნედლეული“ პაკეტისგან განსხვავებით, სიგნალს აქვს სემანტიკა (ტიპი, სქემა, კონტექსტი, ინვარიანტები) და გარანტიები (მშობიარობა, წესრიგი, იდემპოტენტობა).
მიზნები: შეამცირონ სერვისების კავშირი, დააჩქარონ რეაქცია ცვლილებებზე, გახადონ კონტროლირებადი და დაკვირვებული ქსელი.
2) სიგნალების ტაქსონომია
ღონისძიება (ღონისძიება): ფაქტები იმის შესახებ, რაც მოხდა (Created, განახლება, Settled, Slashed).
ბრძანება (Command): მოქმედების განხორციელების განზრახვა (Mint, Pause, RotateKey).
მოთხოვნა-პასუხი (Query/Reply): სახელმწიფო/აგრეგაციების მიღება.
სახელმწიფო Snapshot: პერიოდული სურათები (ლიმიტები, კვოტები, კონფისკაციები).
ალერტა/ინციდენტები (ალერტი): გადახრები, დეგრადაცია, SLA დარღვევები.
Vovernance/Policy: ტარიფების პარამეტრები, ლიმიტები, ვერსიები.
ჯვარედინი დომენი (X-Chain/X-Domain): უფლებების/შეტყობინებების გადაცემა ჯაჭვებს/ნდობის ზონებს შორის.
თითოეული კლასი ფიქსირდება სქემით (ID ვერსიები, სავალდებულო ველები, ინვარიანტები).
3) შეტყობინებების მოდელი
მინიმალური შემადგენლობა:- `signal_id` (ULID), `causality_id` (trace/span), `ts`, `ttl`
- `type` (namespace:version), `schema_hash`
- 'Producer _ id', 'domain', 'auth _ proof' (ხელმოწერა/VC/ZK)
- 'qos' (კლასი), 'retries', 'attempt'
- `payload` (CBOR/JSON/ProtoBuf), `crc`
- 'idempotency _ key' (ბიზნეს ხასიათის მიხედვით)
4) QoS და მიწოდების კლასები
Q0 Fire and Forget: მტკიცებულების გარეშე (ტელემეტრი, მეტრიკა).
Q1 At-Least-Once: retrai, dedop მიმღებზე, impotence.
Q2 Exactly-Once (ეფექტური): imempotent ჩაწერა + dedup + გარიგების outbox/inbox.
Q3 Ordered: შეკვეთის შენარჩუნება პარტიის გასაღები.
Q4 Priority/Deadline: პრიორიტეტები და ვადები (EDF/LLF) კრიტიკული გუნდებისთვის.
გამოსავალი: ნაგულისხმევი Q1 + იდემპოტენტურობა; Q3 - მიზეზის მქონე ნაკადებისთვის; Q4 - უბედური შემთხვევებისთვის/.
5) ბრძანება, გამომწვევი და იდემპოტენტურობა
მიზეზის გასაღებები: 'agregate _ id', 'version', 'prev _ hash'.
Outbox/InBox შაბლონი: ღონისძიების გარიგების დაფიქსირება და გაგზავნა.
Idempotent handlers: შენარჩუნება „idempotency _ key“ „seen table“ + upsert.
რეკონსტრუქცია: სნაიპერების და ლოგოების პერიოდული შერწყმა (რეპერი ჯობსი).
Retrais/TTL ლიმიტები: დაცვა „მარადიული“ გამეორებისა და მდგომარეობის დრიფტისგან.
6) ნაკადის კონტროლი და დაბლოკვა
კვოტები და ნიშნები: leaky/bucket, rate-limit ტიპები/მომხმარებლები.
სიხშირის/ზომის ხელშეკრულება: batch size, windows, max-in-flight.
Drop/Degrade პოლიტიკა: მიმოხილვის ტელემეტრია გადატვირთვის დროს; მნიშვნელოვანი Q4 არ იფეთქებს.
სამართლიანობა: WFQ/DRR დაგეგმვა რიგებში.
ადაპტაცია: PID კონტროლერები: შეფერხების ზრდა ფანჯრის შემცირებას.
7) ტრანსპორტი და საბურავი
ღონისძიების ადგილობრივი ავტობუსი: Kafka/Pulsar/NATS/Redis Streams - კლავიშების განლაგება.
სინქრონული მოთხოვნები: GRPC/HTTP2 Query/Reply- ისთვის, დროის გადაღებები და Circuit Breakers.
ჯვარედინი აფეთქების არხები: IBC/CCIP მსგავსი ფენები, გირაოს გამყიდველები, დადასტურებული დადასტურებები.
Edge/POP: ადგილობრივი ბუფერები და გადაცემა core.
8) სიგნალის უსაფრთხოება
ავთენტიფიკაცია: mTLS/OIDC S2S- ისთვის; ხელმოწერილი შეტყობინებები (EdDSA/secp256k1).
საავტორო უფლებები: ABAC/RBAC ტოპიკებზე და სიგნალების ტიპებზე; RNFT უფლებები/ლიმიტები.
მთლიანობა: ბატჩის ჰაში/მერკალიზაცია, უცვლელი ჟურნალები.
კონფიდენციალურობა: ველები ZK/ველების დაშიფვრაში (FPE ნაწილობრივი გაჟონვისთვის).
ანტი-ფროდი: ქცევითი ხელმოწერები, „თაფლის“ ტრაფიკი, სტოქასტიკური შემოწმებები.
9) დაკვირვება და ტრეკირება
კორელაცია: trace-id/spans-id თითოეულ სიგნალში, ეტიკეტის საშუალებით.
მეტრიკა: p50/p95 ლატენტური ტიპებით, success rate, timeout/reties%, DLQ depth, consumer lag.
პოლიტიკის ლოგიკა: ვინ, როდის, რა შეცვალა (limites), ხელმოწერები და კონფიგურაციის დიფები.
ალერტინგი: SLO შეცდომების ბიუჯეტები; სინთეზური ტესტები კრიტიკული მარშრუტებისთვის.
DLQ/Replay: მკვდარი ხაზები, დუბლების დაცვა.
10) სქემები და ვერსიები
Schema Registry: ველების ევოლუცია (ორმხრივი კომპოზიცია), სემვერის ტიპები.
Feature flags: ველების/ლოგიკის თანდათანობითი გააქტიურება.
თავსებადობის კონტრაქტები: ტესტები „ძველი პროდიუსერი - ახალი კონსიუმერი“ და პირიქით.
მიგრაცია: ორმაგი write/dul-read, სარკის ტოპები, sunset გეგმები.
11) სარეკრეაციო და დედუპლიკაციის პოლიტიკა
Retrai: ექსპონენციალური შეფერხება + gitter, მაქსიმალური მცდელობები, quarantine ბარიერის შემდეგ.
დედაპაპი: ბოლო 'N' გასაღებების შენახვა წვეულებაზე ან ბლოკის ფილტრებზე; TTL ჩანაწერები.
ანტი-ქარიშხალი: ჯგუფური ACK/NACK, მოვლენების სიმძიმე (debounce/aggregate).
12) SLA/SLO სიგნალებისთვის
სამიზნე SLO- ს მაგალითი (კლასში):- Q4: p95-200 ms, წარმატება 99. 99%, DLQ = 0, MTTR ინციდენტი 15 წთ
- Q3: p95-500 ms, წარმატება 99. 9%, დარღვევა 10 ევრო/შეტყობინება.
- Q1: წარმატება 99. 5% ფანჯრის T, P-1-2.
Error budget: გადაადგილება - ავტომატური გადმოტვირთვის სიჩქარე, პრიორიტეტების ჩართვა, დეგრადაციის ფეხის დროშა.
13) ჯაჭვის სიგნალები (მრავალშვილიანი)
მოვლენების მტკიცებულებები: მსუბუქი კლავიატურა/სახელმწიფო პროექტები „თავდამსხმელის ნდობის“ ნაცვლად.
საბოლოო: დომენის ფინალიზაციის შეფერხებების აღრიცხვა, დროებითი საკეტები (გამოწვევა პერიდი).
ეკონომიკური გარანტიები: გამყიდველების S- გასაღები, ყალბი დადასტურების ფიქსაცია.
Idempotence X-Domain: გლობალური 'x _ msg _ id', seen ცხრილი ორივე ბოლოში.
გასვლის პოლიტიკოსები: გაჩერებული ამწეები, მოცულობის/დროის ლიმიტები, ხელით კვორუმი შეტევების დროს.
14) ანტი-კოლუზია და ბოროტად გამოყენება
ყალბი სიგნალები: strong auth + ანომალიების ქცევითი დეტექტორი.
Replay შეტევები: nonce/TTL და ერთჯერადი გასაღებები.
მწარმოებლების კოლუზია: კორელაციის აუდიტი, ბრმა ნიმუშები, ჯარიმები სისტემატური შეცდომისთვის.
მოვლენების ფარმაცევტი: ხარისხის ტარიფი (Q კლასი), არსებითი ლიმიტები.
15) განხორციელების პლეიბუკი
1. დომენების რუქა და სიგნალის ტიპები. განსაზღვრეთ კრიტიკა (Q კლასი), მფლობელები, სქემები.
2. ტრანსპორტის არჩევანი და ტოპიკური არქიტექტურა. მიზეზის გასაღებებზე განლაგება.
3. SLO/SLA განმარტება. შეცდომების, ალერტების, გადაუდებელი პროცედურების ბიუჯეტები.
4. Security-by-default. ხელმოწერები, mTLS, ABAC, მთავარი როტაცია.
5. Idempotence და dedup. Outbox/InBox, seen-tables, TTL.
6. Backpressure. კვოტები, ფანჯრები, პრიორიტეტები, ლაგების დაშლა.
7. Schema Registry & ვერსია. თავსებადობის კონტრაქტები, ტესტის მატრიცები.
8. დაკვირვება. E2E ტრეკერი, სინთეზური ნიმუშები, DLQ/Replay.
9. მფრინავი და თამაშის დღეები. ინციდენტის ვარჯიში, ნამდვილი ლოგოების რეპლიკები.
10. სკალირება. X-domain, limites, გაჩერებული ამწეები, საზოგადოებრივი პოსტ-mortems.
16) მეტრიკი და დაშბორდი
პროდუქტიულობა: latency p50/p95/p99, throughput, consumer lag, in-flight.
საიმედოობა: success rate, retry%, DLQ depth, duplicate ratio.
შეკვეთა: out-of-order%, reordering distance.
ეკონომიკა: დამუშავების/კომუნიკაციის ღირებულება, კლასის ზღვარი, ჯარიმები/სტიმულები.
უსაფრთხოება: საეჭვო სიგნალების შემცირება, ხალხური პოზიტიური/უარყოფითი.
ჩართვა: სქემების შეცვლის სიჩქარე/პოლიტიკოსი, წარმატებული გაფართოების წილი უკან დახევის გარეშე.
17) ხელშეკრულებების/მომსახურების შაბლონები
Signal Gateway: შესაბამისობა, ავთენტიფიკაცია, ნორმალიზაცია, პრიორიტეტიზაცია.
Schema Registry: სქემების შენახვა/შემოწმება, თავსებადობა.
Signal Router: მარშრუტიზაცია ტიპის/დომენის მიხედვით, QoS კლასები, rate limits.
Idempotence Store: გასაღებები, TTL, დედაპლატი.
DLQ/Replay Service: კარანტინი, დაგვიანებული დამუშავება, ფანჯრების რაფები.
X-Domain Relay: მტკიცებულებები, გირაო, სლაშინგი, საბოლოო.
Policy Hub: ლიმიტების/ჩამორთმევის მენეჯმენტი, ცვლილებების აუდიტი.
18) Prod List მზადყოფნა
- განსაზღვრულია QoS და SLO კლასები ყველა სახის სიგნალისთვის
- ჩართულია ხელმოწერები, mTLS, კლავიშების როტაცია, ABAC
- მიდრეკილია outbox/inbox, idempotent hendlers, dedup
- განხორციელებულია საბაზო ლიმიტები, პრიორიტეტები
- დაინერგა Schema Registry, თავსებადობის ტესტები, მომენტალური გეგმები
- dashboards ხელმისაწვდომია: latency/lag/DLQ, შეცდომების ბიუჯეტის ალერტები
- შეიმუშავა ინციდენტები (თამაშის დღეები), რეპლიკები, პოსტ-mortems
- X-domain შეიცავს მტკიცებულებებს, გირაოს და გაჩერების ამწეებს
19) გლოსარიუმი
QoS: მიწოდების/პრიორიტეტის გარანტიების კლასი.
Idempotence: ხელახალი შესრულება გვერდითი მოვლენების გარეშე.
Backpressure: მექანიზმები, რომლებიც ზღუდავს დატვირთვას გადატვირთვის დროს.
DLQ: „მკვდარი“ ხაზი წარუმატებელი დამუშავებისთვის.
Trace/Span: კვალიფიკაციის იდენტიფიკატორები.
X-Domain/X-Chain: ჯვარედინი აფეთქების/ჯვარედინი ჯაჭვის სიგნალის მარშრუტები.
შედეგი: სწორად შემუშავებული სიგნალები ქსელის „ნერვული სისტემაა“. სქემების, გარანტიების, უსაფრთხოებისა და დაკვირვებების სტანდარტიზაციით, ეკოსისტემა იღებს პროგნოზირებად მიწოდებას, გაუმართაობისადმი წინააღმდეგობას და კონტროლირებად ევოლუციას ფარული კავშირებისა და ხელის მკლავების გარეშე.