S2, the durable streams API
s2.dev is a serverless datastore for real-time, streaming data.
s2-lite is an open source, self-hostable server implementation of the S2 API.
It uses SlateDB as its storage engine, which relies entirely on object storage for durability.
It is easy to run s2-lite against object stores like AWS S3 and Tigris. It is a single-node binary with no other external dependencies. Just like s2.dev, data is always durable on object storage before being acknowledged or returned to readers.
You can also simply not specify a --bucket , which makes it operate entirely in-memory. This is great for integration tests involving S2.
Quickstart
Note Point the S2 CLI or SDKs at your lite instance like this: export S2_ACCOUNT_ENDPOINT= " http://localhost:8080 " export S2_BASIN_ENDPOINT= " http://localhost:8080 " export S2_ACCESS_TOKEN= " redundant "
Here's how you can run in-memory without any external dependency:
docker run -p 8080:80 ghcr.io/s2-streamstore/s2-lite
... continue reading