Brought to you by Resonate
Durable promises stored the way ScyllaDB wants them stored — one row each, fanned out across many small partitions.
Your ScyllaDB cluster already holds the state your systems depend on. Resonate HQ built a durable-execution server on ScyllaDB so it can hold their execution state too — six tables in a cluster you already operate.
One protocol, many providers
Any platform that can provide durable storage and an atomic compare-and-swap can implement the durable execution protocol. ScyllaDB implements it natively, in its own primitives.
Why ScyllaDB
Every durable promise is a single row keyed by (origin, id), so state fans out across many small partitions instead of concentrating into a fixed few. A promise and its task share that row, which keeps the common operations to a single-row read or write.
State is the current row, updated in place. An execution can run as long as it needs to, and there is nothing to compact behind it. Durable timers live in bucketed, time-ordered tables sharded across the cluster, so an expiry scan stays inside one partition.
Drop-in
This is the Resonate HTTP/JSON protocol implemented against ScyllaDB, so nothing above the server changes. Every Resonate SDK works unchanged — TypeScript, Python, Rust, Go and Java. Point your workers at it and the API is identical. It ships as a single binary.
docker compose up # server on :8001
What's true today
Six tables and a cluster you already operate. Sign up and we'll help you get it running.
We value your privacy
We use strictly necessary cookies to run this site. With your consent we also use Google Analytics to understand traffic. We do not load analytics until you choose to allow it. Privacy Policy.