HeadlinesBriefing HeadlinesBriefing.com

Cloudflare K2: serverlose Ereignisströme

Hacker News •
×

Bei traditionellen Remote Procedure Call (RPC)-Architekturen besteht eine Kernherausforderung: Produzenten und Konsumenten müssen in Bezug auf Umfang und Zeit übereinstimmen. Wenn Ihre Produzenten zu viele Daten senden, die Ihre Konsumenten nicht verarbeiten können, oder wenn Ihre Konsumenten oder nachgelagerte Dienste nicht verfügbar sind, werden Ereignisse verworfen. Dieses Problem wird durch mehrere Konsumenten, die die Daten unabhängig verarbeiten müssen, noch verstärkt. Beispielsweise kann ein E-Commerce-Backend Ereignisse ausgeben, wenn Transaktionen abgeschlossen sind, die von einem Analysesystem und einem Betrugserkennungsdienst gelesen werden müssen. Wir können dieses Problem lösen, indem wir unsere Produzenten und Konsumenten entkoppeln – einen Dienst dazwischen schalten, der Schreibvorgänge absorbiert und gleichzeitig unabhängigen Lesern ermöglicht, in ihrem eigenen Tempo zu konsumieren.

Heute starten wir Cloudflare K2 in der öffentlichen Beta, um dieses Problem zu lösen. K2 ist eine dauerhafte Ereignis-Streaming-Primitive auf der Developer Platform. Sie senden Ereignisse an einen K2-Stream, der sie als geordnetes Protokoll speichert. Konsumenten können sie auf verschiedene Weise lesen, z. B. indem sie Lesevorgänge auf eine Gruppe von Konsumenten aufteilen oder alle Nachrichten an alle Konsumenten zustellen. Es ist vollständig serverlos, skaliert auf riesige Datenmengen und unterstützt die Langzeitspeicherung, sodass selbst lange Ausfallzeiten von Konsumenten keine Daten verlieren.

Unter der Haube implementiert K2 ein partitioniertes, dauerhaftes Protokoll auf dem R2-Objektspeicher, wodurch es auf riesige Speichervolumen skaliert werden kann. Wenn Sie bereit sind, loszulegen, können Sie in Sekundenschnelle Ihren ersten Stream erstellen, indem Sie der Anleitung hier folgen. Wir haben K2 zuerst gebaut, weil wir einen dauerhaften Puffer am Edge benötigten, zunächst als Erfassungsschicht für Basin Pipelines. Unsere einzigartige Architektur bedeutet, dass wir oft keine traditionelle verteilte Systemsoftware wie Apache Kafka ausführen können und überdenken müssen, wie diese Systeme aufgebaut und betrieben werden.

Bei der Entwicklung des dauerhaften Puffersystems, das zu K2 wurde, haben wir uns entschieden, uns auf die leistungsstarke Zustandsprimitive zu verlassen, die wir bereits haben: R2. Objektspeichersysteme wie R2 kombinieren extrem dauerhaften Speicher (11 Neunen!) mit stark konsistenten APIs. Ein sekundärer Vorteil ist, dass es Rechnen und Speicher trennt, was bedeutet, dass beide unabhängig skaliert werden können. Dies ermöglicht es uns, große Mengen historischer Daten zu geringen Kosten zu speichern.

Quelle: Hacker News · Zusammengefasst von HeadlinesBriefing