Signale zwischen Knoten
1) Der Begriff des Signals
Signal - die minimale Einheit der semantischen Kommunikation im Netzwerk: Ereignis, Anfrage, Bestätigung, Status, Limit, Politik. Im Gegensatz zum „rohen“ Paket hat das Signal Semantik (Typ, Schema, Kontext, Invarianten) und Garantien (Lieferung, Bestellung, Idempotenz).
Die Ziele: Die Konnektivität der Dienste reduzieren, die Reaktion auf Veränderungen beschleunigen, das Netzwerk überschaubar und beobachtbar machen.
2) Taxonomie der Signale
Event: Fakten über das Geschehene (Created, Updated, Settled, Slashed).
Befehl (Command) - Die Absicht, die Aktion auszuführen (Mint, Pause, RotateKey).
Abfrage/Antwort (Query/Reply) - Ruft den Status/die Aggregationen ab.
State Snapshot - Periodische Snapshots (Limits, Kontingente, Configs).
Alerts/Incidents (Alert): Abweichungen, Degradationen, SLA-Verstöße.
治理/Politiki (Governance/Policy): Parameter von Tarifen, Limits, Versionen.
Cross-Domain (X-Chain/X-Domain): Rechte/Nachrichten zwischen Ketten/Vertrauenszonen übertragen.
Jede Klasse wird durch ein Schema festgelegt (Versionskennung, Pflichtfelder, Invarianten).
3) Nachrichtenmodell
Mindestzusammensetzung:- `signal_id` (ULID), `causality_id` (trace/span), `ts`, `ttl`
- `type` (namespace:version), `schema_hash`
- „producer _ id“, „domain“, „auth _ proof“ (Signatur/VC/ZK)
- „qos“ (Klasse), „retries“, „attempt“
- `payload` (CBOR/JSON/ProtoBuf), `crc`
- 'idempotency _ key' (nach Geschäftseinheit)
4) QoS und Lieferklassen
Q0 Fire-and-Forget: ohne Bestätigungen (Telemetrie, Metriken).
Q1 At-Least-Once: Retrays, Dedup am Empfänger, Idempotenz.
Q2 Exactly-Once (effective): idempotent record + dedup + transactional outbox/inbox.
Q3 Bestellt: Beibehaltung der Reihenfolge durch den Schlüssel der Partei (keyed partitioning).
Q4 Priorität/Deadline: Prioritäten und Deadlines (EDF/LLF) für kritische Teams.
Lösung: Standard Q1 + Idempotenz; Q3 - für Ströme mit Kausalität; Q4 für avary/治理.
5) Ordnung, Kausalität und Idempotenz
Kausalitätsschlüssel: 'aggregate _ id', 'version', 'prev _ hash'.
Outbox/InBox-Muster: Transaktionales Fixieren des Ereignisses und Senden.
Idempotente Handler: Speichern Sie' idempotency _ key 'in „seen table“ + upsert.
Reconciliation: Periodische Abstimmungen von Snapshots und Protokollen (Repair Jobs).
Retray-/TTL-Limits: Schutz vor „ewigen“ Wiederholungen und Zustandsdrift.
6) Flusskontrolle und Backpress
Quoten und Token: leaky/bucket, rate-limit nach Typ/Verbraucher.
Vertrag nach Frequenz/Größe: Batch-Größe, Fenster, Max-in-Flight.
Drop/Degrade-Politik: Übersicht Telemetrie bei Überlastung; wichtige Q4 nicht fallen lassen.
Fairness: WFQ/DRR-Planung durch Warteschlangen.
Anpassungsfähigkeit: PID-Controller: Das Wachstum der Latenz → das Fenster verkleinern.
7) Transport und Reifen
Lokaler Ereignisbus: Kafka/Pulsar/NATS/Redis Streams - Partitionierung nach Schlüssel.
Synchrone Abfragen: gRPC/HTTP2 für Query/Reply, Timeouts und Circuit Breakers.
Cross-Domain-Kanäle: IBC/CCIP-ähnliche Schichten, Relayer mit Sicherheiten, nachweisbare Bestätigungen.
Edge/POP: Lokale Puffer und Relay im Core.
8) Signalsicherheit
Authentifizierung: mTLS/OIDC für S2S; signierte Nachrichten (EdDSA/secp256k1).
Autorisierung: ABAC/RBAC für Topics und Signalarten; RNFT-Rechte/Grenzen.
Integrität: Hashes/Battcha-Merklization, unveränderliche Protokolle.
Vertraulichkeit: Felder in ZK/Feldverschlüsselung (FPE für Teillecks).
Anti-Betrug: Verhaltenssignaturen, „Honig“ -Verkehr, stochastische Kontrollen.
9) Beobachtbarkeit und Rückverfolgung
Korrelation: trace-id/span-id in jedem Signal, durch Etiketten.
Metriken: p50/p95 Latenz nach Typ, Erfolgsrate, Timeout/Reties%, DLQ-Tiefe, Consumer-Lag.
Die Protokolle der Politik: Wer, wann, was geändert (治理/limity), Unterschriften und Diffamierungen von Config.
Alertings: SLO-Fehlerbudgets; synthetische Proben für kritische Routen.
DLQ/Replay: tote Warteschlangen, Reprocess mit Schutz vor Takes.
10) Schaltungen und Versionierung
Schema Registry: Evolution der Felder (back/forward compatible), semver Typen.
Feature flags: schrittweise Aktivierung von Feldern/Logik.
Kompatibilitätsverträge: Tests „alter Produzent ↔ neuer Consumer“ und umgekehrt.
Migrationen: Dual-Write/Dual-Read, gespiegelte Topics, Sunset-Pläne.
11) Retray- und Deduplizierungsrichtlinien
Retrays: exponentielle Verzögerung + Jitter, maximale Versuche, Quarantine nach der Schwelle.
Dedup: Speicherung der letzten 'N' -Schlüssel pro Party oder Bloom-Filter; TTL-Einträge.
Anti-Sturm: Gruppe ACK/NACK, coalescing Ereignisse (debounce/aggregate).
12) SLA/SLO für Signale
Beispiel für gezielte SLOs (nach Klasse):- Q4: p95 ≤ 200 ms, Erfolg ≥ 99. 99%, DLQ = 0, MTTR des Vorfalls ≤ 15 min.
- Q3: p95 ≤ 500 ms, Erfolg ≥ 99. 9%, Verstoß gegen die Ordnung ≤ 10⁻⁶/soobshcheniye.
- Q1: Erfolg ≥ 99. 5% für das Fenster T, p95 ≤ 1-2 s.
Error Budget: Überschreitung → Auto-Download-Geschwindigkeiten, Aktivierung von Prioritäten, Fitch-Flag-Degradation.
13) Kettenübergreifende Signale (Multi-Chain)
Nachweis der Ereignisse: Light-Client/State-Proofs statt „Vertrauen in den Relayer“.
Finalität: Berücksichtigung von Verzögerungen bei der Domain-Finalisierung, Zeitsperren (Challenge Period).
Wirtschaftliche Garantien: S-Versprechen von Relaisern, Slashing für falsche Bestätigungen.
X-Domain idempotency: global'x _ msg _ id', Tabellen an beiden Enden gesehen.
Exit-Richtlinien: Stopp-Hähne, Volumen/Zeit-Limits, manuelles Quorum bei Angriffen.
14) Anti-Kollusion und Missbrauch
Gefälschte Signale: strong auth + Verhaltensanomaliendetektor.
Replay-Angriffe: Nonce/TTL und einmalige Schlüssel.
Hersteller-Kollusion: Korrelationsaudit, Blindstichproben, Strafen für systematische Fehler.
Event-Pharming: Verrechnung nach Qualität (Q-Klasse), Rate-Limits nach Essenz.
15) Playbook der Umsetzung
1. Kartierung von Domänen und Signaltypen. Bestimmen Sie die Kritikalität (Q-Klasse), Eigentümer, Schema.
2. Wahl der Transport- und Topic-Architektur. Partizipation an den Schlüsseln der Kausalität.
3. Definition von SLO/SLA. Fehlerbudgets, Warnungen, Notfallverfahren.
4. Security-by-default. Signaturen, mTLS, ABAC, Schlüsselrotation.
5. Idempotenz und Dedup. Outbox/InBox, seen-tables, TTL.
6. Backpressure. Quoten, Fenster, Prioritäten, Dashboards der Verzögerungen.
7. Schema Registry & Versionierung. Kompatibilitätsverträge, Testmatrizen.
8. Beobachtbarkeit. Verfolgung von E2E, synthetischen Proben, DLQ/Replay.
9. Pilot und Spieltage. Incident Training, Replikate von echten Protokollen.
10. Skalierung. X-Domains, Limits, Stop-Kräne, öffentliche Post-Mortems.
16) Metriken und Dashboards
Leistung: Latency p50/p95/p99, throughput, consumer lag, in-flight.
Zuverlässigkeit: Erfolgsrate, Retry%, DLQ-Tiefe, Duplikatverhältnis.
Reihenfolge: Out-of-Order%, Reordering Distanz.
Wirtschaft: Kosten der Verarbeitung/Kommunikation, Marge nach Klasse, Strafen/Anreize.
Sicherheit: Rate der verdächtigen Signale, Fols-positiv/negativ.
治理: Rollout-Geschwindigkeit von Schemas/Richtlinien, Anteil erfolgreicher Upgrades ohne Rollback.
17) Vertrags-/Dienstleistungsvorlagen
Signal Gateway: Validierung, Authentifizierung, Normalisierung, Priorisierung.
Schema Registry: Speicherung/Validierung von Schemata, Kompatibilität.
Signal Router: Routing nach Typ/Domäne, QoS-Klassen, Rate Limits.
Idempotency Store: Schlüssel, TTL, Dedup.
DLQ/Replay Service: Quarantäne, verzögerte Verarbeitung, Fensterreplikationen.
X-Domain Relay: Beweise, Zusagen, Slashing, Finalität.
Policy Hub: Limit-/Config-Management, Prüfung von Änderungen.
18) Prod Readiness Checkliste
- QoS- und SLO-Klassen für alle Signalarten definiert
- Signaturen, mTLS, Schlüsselrotation, ABAC enthalten
- Outbox/Inbox, idempotente Handler, Dedup konfiguriert
- Implementierte Rate Limits, Backpressure, Prioritäten
- Schema Registry eingeführt, Kompatibilitätstests, Mig-Pläne
- Dashboards verfügbar: latency/lag/DLQ, Fehlerbudget-Alerts
- Geübte Vorfälle (Spieltage), Replays, Post-Mortems
- Nachweise, Pfandrechte und Haltekräne sind für die X-Domain enthalten
19) Glossar
QoS: Klasse der Liefer-/Prioritätsgarantien.
Idempotency: Wiederholung ohne Nebenwirkungen.
Backpressure: Mechanismen, die die Überlastlast begrenzen.
DLQ: „tote“ Warteschlange für fehlgeschlagene Verarbeitung.
Trace/Span: IDs der Ende-zu-Ende-Verfolgung.
X-Domain/X-Chain: Cross-Domain/Cross-Chain Signalwege.
Fazit: Richtig gestaltete Signale sind das „Nervensystem“ des Netzwerks. Durch die Standardisierung von Schemata, Garantien, Sicherheit und Beobachtbarkeit erhält das Ökosystem eine vorhersehbare Lieferung, Ausfallsicherheit und kontrollierte Evolution ohne versteckte Verbindungen und manuelle Krücken.