Node Flowdocs

Restate alternative: node-flow vs Restate

node-flow vs Restate — JSON-defined orchestration with polling workers in any language, compared with Restate's durable handlers and virtual objects.

node-flow is a Restate alternative when you want orchestration rather than durable RPC. Restate is a durable-execution server: your services register handlers, Restate proxies calls to them and journals each step so a handler resumes where it stopped. node-flow keeps the process as a JSON DAG and leases each step to a worker — the engine, not a handler, owns control flow.

node-flow vs Restate at a glance

node-flowRestate
Workflow is…A JSON DAGCode in durable handlers, workflows and virtual objects
How work reaches your codeWorkers poll and leaseRestate pushes invocations to your service
LanguagesAny, over HTTPLanguages with a Restate SDK
StoragePostgreSQL 18 — queryable with SQL, backed up like any databaseRestate's own embedded log and state store
Visual DAG, editor and operator actionsYesRun inspection in Restate's UI and CLI
Human approvalsHUMAN task with inboxAwakeables / durable promises plus your own UI
Conductor APIYesNo

Choose which

Choose Restate for low-latency durable RPC between services you own — exactly-once-style handlers, keyed virtual objects, sagas written as code.

Choose node-flow when the process should be a readable, versioned document; when steps are run by many teams' workers in many languages; and when you want all state in a Postgres database your team already knows how to run.

Frequently asked questions

How is node-flow different from Restate?

Restate makes service handlers durable by journaling their steps. node-flow is an orchestrator: a JSON workflow definition drives execution, and workers in any language poll for the steps they own. All state lives in PostgreSQL.

Next

On this page