- Hochperformanter Open-Source-Ersatz für Kafka, geschrieben in Rust
- Verteilte Message-Streaming-Plattform, aufgebaut auf einer hochperformanten Log-Storage-Engine, mit zuverlässigem Streaming und automatischem Leader-Failover
- Gewährleistet Metadatenkonsistenz über das Raft-Konsensprotokoll und unterstützt Recovery bei Ausfällen
- Segmentbasierte Partitionierung verteilt Last automatisch und rotiert die Leadership im Round-Robin-Verfahren
- Kernfunktionen
- Zerlegt Topics per Sharding auf Segmentebene, wobei der Leader-Knoten jedes Segments für Schreibvorgänge zuständig ist
- Lease-basiertes Write Fencing erlaubt Schreibzugriffe nur für einen einzelnen Leader und verhindert Split-Brain
- Automatisches Rollover schlägt bei Überschreitung der Segmentgröße Metadatenänderungen vor und führt einen Leader-Wechsel durch
- Mit Sealed Segment Reads kann direkt aus Replikaten älterer Daten gelesen werden
- Hochperformantes I/O auf Basis von io_uring sorgt unter Linux für hohen Durchsatz
- Client-Protokoll
- Verwendet ein TCP-basiertes Textprotokoll mit Längenpräfix
- Unterstützt mit den Befehlen
REGISTER, PUT, GET, STATE, METRICS das Erstellen von Topics, das Senden und Empfangen von Nachrichten sowie die Statusabfrage
- Durch die einfache Befehlsstruktur ist eine Verbindung zu jedem beliebigen Knoten möglich, Weiterleitungen erfolgen automatisch
- Performance-Eigenschaften
- Schreibdurchsatz: stabile Performance durch Single-Writer-Struktur pro Segment
- Lesedurchsatz: skaliert proportional zur Zahl der Replikate
- Latenz: im Durchschnitt etwa 1–2 RTT
- Minimaler Konsens-Overhead: Raft wird nur auf Metadaten angewendet, nicht auf den Datenpfad
- Performance-Vergleich
- Höherer Schreibdurchsatz und größere Bandbreite als Kafka und RocksDB
- Bei deaktiviertem fsync über 1,2 Millionen Operationen pro Sekunde; auch bei aktiviertem fsync bleibt die stabile Performance auf ähnlichem Niveau
- MIT License
Noch keine Kommentare.