Sygnały między węzłami
1) Koncepcja sygnału
Sygnał - minimalna jednostka komunikacji semantycznej w sieci: event, request, confirmation, status, limit, policy. W przeciwieństwie do pakietu „surowego”, sygnał ma semantykę (typ, schemat, kontekst, niezmienne) i gwarancje (dostawa, zamówienie, idempotencja).
Cele: zmniejszenie łączności usług, przyspieszenie reakcji na zmiany, umożliwienie zarządzania siecią i jej obserwowalności.
2) Taksonomia sygnału
Wydarzenie: fakty na temat tego, co się stało (Created, Updated, Settled, Slashed).
Intencja działania (mennica, pauza, klucz rotacyjny).
Zapytanie/Odpowiedź-Odzyskuje stan/agregacje.
Migawki State Snapshot-Periodic (limity, kwoty, konfiguracje).
Alerty/incydenty: odchylenia, degradacja, naruszenia SLA.
/Politiki (Zarządzanie/Polityka): parametry taryf, limity, wersje.
Domena poprzeczna (X-Chain/X-Domain): przekazywanie praw/wiadomości między łańcuchami/strefami zaufania.
Każda klasa jest ustalana schematem (ID wersji, wymagane pola, niezmienne).
3) Model wiadomości
Minimalny skład:- 'signal _ id' (ULID),' causality _ id' (ślad/rozpiętość), 'ts',' ttl'
- „type” (przestrzeń nazw: wersja), „schema _ hash”
- 'producent _ id',' domena ',' auth _ proof '(podpis/VC/ZK)
- „qos” (klasa), „retries”, „próba”
- „ładunek użytkowy” (CBOR/JSON/ProtoBuf), „crc”
- „idempotence _ key” (według podmiotów gospodarczych)
4) Klasy QoS i dostawy
Q0 Fire-and-Forget: bez potwierdzeń (telemetria, mierniki).
P1 Co najmniej raz: Retrai, deadup w odbiorniku, idempotencja.
Q2 Exactly-Once (skuteczny): idempotent entry + dedup + transactional outbox/inbox.
Q3 Zamówiony: partytura klucza.
Q4 Priorytet/termin: priorytety i terminy (EDF/LLF) dla zespołów krytycznych.
Rozwiązanie: domyślnie Q1 + idempotencja; Q3 - dla przepływów o przyczynowości; Q4 - dla awersu/oddychania.
5) Porządek, przyczynowość i idempotencja
Klucze przyczynowości: 'aggregate _ id',' version ',' key_ hash '.
Wzorzec Outbox/InBox: zlecenie i wysyłka zdarzeń transakcyjnych.
Idempotent handlers: zapisywanie 'idempotence _ key' do 'saw table' + upsert.
Pojednanie: okresowe kontrole migawek i kłód (prace naprawcze).
Ograniczenia retray/TTL: ochrona przed „wiecznym” powtórzeniem i dryfem państwowym.
6) Kontrola przepływu i ciśnienie wsteczne
Kwoty i żetony: wyciek/wiadro, limit stawki według rodzaju/konsumenta.
Umowa częstotliwości/wielkości: rozmiar partii, okno, maksymalnie w locie.
Polityka Drop/Degrade: telemetria overload; ważne Q4s nie spadają.
Uczciwość: kolejka WFQ/DRR.
Adaptacja: sterowniki PID: zwiększenie opóźnienia → zmniejszenie okna.
7) Transport i opony
Lokalny autobus imprezowy: Kafka/Pulsar/NATS/Redis Streams - partycjonowanie za pomocą klawiszy.
Zapytania synchroniczne - gRPC/HTTP2 zapytań/odpowiedzi, Timeouts i wyłączniki.
Kanały poprzeczne: warstwy podobne do IBC/CCIP, relayers z zastawami, potwierdzone potwierdzenia.
Krawędź/POP: lokalne bufory i retransmisja do rdzenia.
8) Bezpieczeństwo sygnału
Uwierzytelnianie: mTLS/OIDC dla S2S; wiadomości podpisane (EdDSA/secp256k1).
Autoryzacja: ABAC/RBAC dla tematów i typów sygnałów; Prawa/ograniczenia RNFT.
Integralność: masło hashes/merkurializacje, niezmienne dzienniki.
Poufność: pola w szyfrowaniu ZK/field (FPE dla częściowych przecieków).
Zwalczanie oszustw: podpisy behawioralne, ruch miodowy, kontrole stochastyczne.
9) Obserwowalność i śledzenie
Korelacja: ślad-id/span-id w każdym sygnale, etykiety typu end-to-end.
Metryki: p50/p95 opóźnienie według typu, wskaźnik sukcesu, czas/reties%, głębokość DLQ, opóźnienie konsumenckie.
Dzienniki polityki: kto, kiedy, co się zmieniło (w skrócie), podpisy i dyfuzje konfiguracyjne.
Wpisy: budżety błędów SLO; próbki syntetyczne do tras krytycznych.
DLQ/Replay: martwe kolejki, ponowne przetwarzanie z podwójnym dowodem.
10) Schematy i wersje
Rejestr schematu: ewolucja pól (kompatybilne z powrotem/przodem), typy semverów.
Flagi funkcji: stopniowa aktywacja pól/logika.
Kontrakty kompatybilności: stary producent i nowe testy konsumpcyjne i odwrotnie.
Migracje: podwójne pisanie/podwójne czytanie, tematy lustrzane, plany zachodu słońca.
11) Przekwalifikowanie i polityka deduplikowania
Retrai: wykładnicze opóźnienie + jitter, maksymalne próby, kwarantanna po progu.
Dedup: przechowywanie ostatnich klawiszy 'N' na partię lub filtry kwitnienia; Zapisy TTL.
Anty-burza: grupa ACK/NACK, wydarzenia koalescencyjne (debounce/aggregate).
12) SLA/SLO dla sygnałów
Przykład docelowych SLO (według klas):- P4: p95 ≤ 200 ms, sukces ≥ 99. 99%, DLQ = 0, incydent MTTR ≤ 15 min.
- P3: p95 ≤ 500 ms, sukces ≥ 99. 9%, naruszenie rzędu ≤ 10⁻⁶/soobshcheniye.
- P1: sukces ≥ 99. 5% na okno T, p95 ≤ 1-2 s.
Budżet błędu: przeładowanie → prędkości automatycznego pobierania, włączanie priorytetów, flaga funkcji degradacji.
13) Sygnały łańcuchowe (wielokołowe)
Dowody zdarzeń: lekkie dowody klienta/stanu zamiast „zaufanie przekaźnika”.
Finalność: rozliczanie opóźnień finalizacji domeny, tymczasowych zamków (okres wyzwań).
Gwarancje ekonomiczne: S-zastaw zwijaczy, cięcia do fałszywych potwierdzeń.
X-Domain idempotence: global 'x _ msg _ id', widziane tabele na obu końcach.
Zasady wyjścia: zatrzymanie kranów, ograniczenia objętości/czasu, ręczne kworum dla ataków.
14) Przeciwdziałanie zmowie i nadużyciom
Fałszywe sygnały: silny wykrywacz anomalii auth + behawioralnych.
Powtórne ataki: nonce/TTL i jednorazowe klucze.
Kolacja producentów: kontrola korelacji, próbki ślepe, kary uprzedzenia.
Apteka imprezowa: ładowanie według jakości (klasa Q), limity stawki według istoty.
15) Playbook wdrożeniowy
1. Mapowanie domen i typów sygnałów. Określić krytyczność (klasa Q), właściciele, systemy.
2. Wybór transportu i architektury tematycznej. Podział przez klucze przyczynowe.
3. Definicja SLO/SLA. Budżety błędów, wpisy, procedury awaryjne.
4. Zabezpieczenie domyślne. Podpisy, mTLS, ABAC, rotacja klucza.
5. Idempotencja i dedup. Outbox/InBox, widziane tabele, TTL.
6. Ciśnienie wsteczne. Kwoty, okna, priorytety, deski rozdzielcze.
7. Rejestr schematu i jego wersioning. Umowy zgodności, matryce testowe.
8. Obserwowalność. E2E odwzorowanie, próbki syntetyczne, DLQ/Replay.
9. Pilot i dni gry. Trening incydentów, powtórzenie prawdziwych dzienników.
10. Skalowanie. X-domena, granice, korki, publiczne pośmiertne.
16) Mierniki i deski rozdzielcze
Wydajność: opóźnienie p50/p95/p99, przepustowość, opóźnienie konsumenckie, podczas lotu.
Niezawodność: wskaźnik sukcesu, retry%, głębokość DLQ, duplikat współczynnika.
Zamówienie: off-order%, ponowne zamawianie odległości.
Ekonomia: koszt przetwarzania/komunikat, marża klasy, kary/zachęty.
Bezpieczeństwo: szybkość podejrzanych sygnałów, fałszywie pozytywne/negatywne.
: szybkość wdrażania programów/polityk, odsetek udanych ulepszeń bez zwrotu.
17) Wzory umów/usług
Brama sygnału: walidacja, uwierzytelnianie, normalizacja, ustalanie priorytetów.
Rejestr schematu: schemat przechowywania/walidacji, kompatybilności.
Router sygnału: routing według typu/domeny, klasy QoS, limity szybkości.
Sklep Idempotence: klucze, TTL, deadup.
DLQ/Replay Service: kwarantanna, odroczone przetwarzanie, powtórzenie na oknach.
Przekaźnik X-Domain: dowody, zastawy, ukośnik, finalność.
Centrum polityki: zarządzanie limitem/konfiguracją, audyt zmian.
18) Lista kontrolna dostawy
- Klasy QoS i SLO zdefiniowane dla wszystkich typów sygnałów
- Włączone podpisy, mTLS, rotacja klucza, ABAC
- Skonfigurowane skrzynka odbiorcza/skrzynka odbiorcza, idempotent handlers, deadup
- Limity stawek, obciążenie zwrotne, realizowane priorytety
- Wprowadzony rejestr schematu, testy zgodności, plany mig
- Dostępne deski rozdzielcze: latency/lag/DLQ, wpisy dotyczące budżetów na błędy
- Dni gry, powtórka, pośmiertne
- Dowody, zastawy i korki uwzględnione dla domeny X
19) Słownik
QoS: gwarancja dostawy/klasa priorytetowa.
Idempotencja: powtarzająca się egzekucja bez skutków ubocznych.
Ciśnienie wsteczne: mechanizmy ograniczające obciążenie podczas przeciążania.
DLQ: Martwa kolejka do nieudanego przetwarzania.
Trace/Span - Identyfikatory śladu końcowego.
X-Domain/X-Chain: cross-domain/cross-chain signal routes.
Linia dolna: odpowiednio zaprojektowane sygnały są „układem nerwowym” sieci. Dzięki standaryzacji schematów, zabezpieczeń, bezpieczeństwa i obserwowalności ekosystem zyskuje przewidywalną dostawę, tolerancję błędów i zarządzaną ewolucję bez ukrytych połączeń i kul ręcznych.