Restate: Eine datenbanklose dauerhafte Ausführungsengine

2025-03-27
Restate: Eine datenbanklose dauerhafte Ausführungsengine

Restate ist eine neu entwickelte dauerhafte Ausführungsengine, die keine Datenbank oder Log-System benötigt. Von Grund auf neu entwickelt, bietet sie einen vollständigen, in sich geschlossenen Stack, der auf einem Befehlslog und einem Ereignisprozessor basiert und mit den besten Logs in Bezug auf Dauerhaftigkeit und Betriebseigenschaften konkurriert. Dieser Artikel beschreibt detailliert die Architektur von Restate, einschließlich der bidirektionalen Serviceverbindungen, des partitionierten Skalierungsmodells, des eingebetteten RocksDB-Zustandsspeichers und der virtuellen Log-Abstraktion. Restate balanciert geschickt niedrige Latenz und hohe Dauerhaftigkeit durch Log-Design und Storage-Tiering und unterstützt SDKs in mehreren Programmiersprachen.

Mehr lesen
Entwicklung

Restate: Vereinfachung komplexer KI-Spiel-Workflows

2025-03-10
Restate: Vereinfachung komplexer KI-Spiel-Workflows

Dieser Artikel zeigt, wie man mit dem Restate-Framework ein interaktives Text-Adventure-Spiel aus einer einzigen Benutzeraufforderung erstellt. Die Anwendung orchestriert die Bilderzeugung, die Audiosynthese und mehrere Aufrufe großer Sprachmodelle – Aufgaben, die traditionell komplexe Message Queues und Fehlerbehandlung erfordern. Restate vereinfacht dies mit dauerhaften Handlern und integrierten Concurrency-Primitiven, die automatische Wiederholungen, Zustandsverwaltung und die garantierte Ausführung von Anfragen bieten. Der Autor beschreibt detailliert die Architektur der Anwendung, die Codeimplementierung und die Lösungen für Herausforderungen und zeigt, wie Restate lang laufende Workflows effizient verwaltet und die Entwicklerproduktivität verbessert.

Mehr lesen
Spiele

Abschied von verteilter Koordination: Wie Restate verteilte Anwendungen mit einem einzigen Log vereinfacht

2025-01-24
Abschied von verteilter Koordination: Wie Restate verteilte Anwendungen mit einem einzigen Log vereinfacht

Die Entwicklung robuster verteilter Anwendungen bleibt eine große Herausforderung. Entwickler verbringen oft viel Zeit mit dem Umgang mit Failover-Strategien, Wiederholungsversuchen, Race Conditions und anderen Komplexitäten. Dieser Artikel stellt Restate vor, einen neuen Ansatz, der die Entwicklung vereinfacht, indem er verteilte Koordination vermeidet. Die Kernidee besteht darin, alle Systeme (Nachrichtenwarteschlangen, Datenbanken, Sperrdienste usw.) als ein einziges Log zu behandeln. Jede Operation wird in diesem Log aufgezeichnet, und Wiederholungsversuche lesen automatisch vorherige Operationsaufzeichnungen, wodurch Inkonsistenzen und Race Conditions vermieden werden. Restate ist ein Open-Source-Projekt, das auf diesem Prinzip basiert und die Entwicklung und Wartung verteilter Anwendungen vereinfacht und die Systemzuverlässigkeit verbessert.

Mehr lesen
Entwicklung Log