RSS DEV-Gemeinschaft

Jenseits von traditionellem Kafka: Erstellen eines Zustandslosen, Erweiterbaren Brokers

Die Betrieb von Kafka im großen Maßstab ist herausfordernd aufgrund von Ressourcenplanung, Partitionierungsverwaltung, hoher Verfügbarkeit und Speicherbedarf. Das Design von Kafka stimmt nicht mit den cloud-nativen Prinzipien von Einfachheit, Zustandslosigkeit und Elastizität überein. Um dies zu adressieren, wurde ein experimentelles Projekt namens stateless-kafka-broker gestartet, das den internen Zustand vom Broker entfernt und alles an externe Speicher-Backends delegiert. Die Architektur ist so konzipiert, dass sie einfach und minimalistisch ist und Metadaten, Logs und Indexverwaltung in pluggable externe Speicher unterteilt. Dieses Design bringt Vorteile wie einfaches horizontales Skalieren, Flexibilität bei der Wahl von Speicher-Backends und keine Notwendigkeit, broker-lokale Metadaten oder Logs zu pflegen. Das Broker-Design ist in drei verschiedene Speicher unterteilt: Meta-Speicher, Log-Speicher und Index-Speicher, jeweils als Rust-Trait implementiert, was vollständig pluggable Implementierungen ermöglicht. Obwohl dieser Ansatz Kompromisse in der Leistung hat, bietet er Einfachheit, Flexibilität und betriebliche Leichtigkeit. Das Projekt ist vollständig Open-Source und lädt zur Mitarbeit ein, um neue Backends zu implementieren, Protokollunterstützung zu verbessern, Leistung zu optimieren und Dokumentation zu schreiben. Das Ziel ist es, einen wirklich zustandslosen, cloud-nativen Kafka-Broker zu bauen, der einfach zu betreiben und skalierbar ist. Das Projekt ist noch in den Anfängen und lädt Mitwirkende aus der ganzen Welt ein, sich anzuschließen und gemeinsam zu bauen.
favicon
dev.to
Beyond Traditional Kafka: Building a Stateless, Pluggable Broker
Bild zum Artikel: Jenseits von traditionellem Kafka: Erstellen eines Zustandslosen, Erweiterbaren Brokers
Create attached notes ...