under the hood

Ack only after the data is in S3

Roxa does not tie data to the disk of a particular broker. Instead, writes are grouped in memory and durably persisted to object storage — the diskless model. This yields two properties: the broker is near-stateless (if it dies, a new one starts and reads from S3), and the acknowledgement arrives only after the data is actually written. Below is the path of a message.

the write path
  1. 1

    A producer writes

    Messages are accepted and each gets a monotonic offset — ordering within a partition is guaranteed.

  2. 2

    Coalescing

    Writes from many producers accumulate in memory for a few dozen milliseconds, avoiding thousands of tiny storage requests.

  3. 3

    One object in S3

    The accumulated batch goes to S3/MinIO as a single object and becomes durable.

  4. 4

    Ack after S3

    The producer gets its ack only once the object is committed to storage. There is no gap between “accepted” and “saved”.

reliability

Durability without compromise

ack after storage today

Every batch is durably persisted to S3/MinIO or the file system BEFORE the producer is acknowledged. No loss between “accepted” and “saved” — by construction.

buffered (WAL) in development

A mode with a local write-ahead log for even faster acks at the same durability — for scenarios with strict latency requirements.

You choose the storage: S3/MinIO or the local file system — a single config parameter.

compatibility

Works with the Kafka ecosystem

  • Produce / Fetch — existing clients work as they are
  • Consumer groups with rebalancing (subscribe, commit, heartbeat)
  • Compression: gzip, snappy, lz4, zstd
  • Idempotent producers (InitProducerId)
  • SASL/PLAIN, TLS
  • Verified with real librdkafka clients: kcat, Go, Python and others
how it differs

Roxa next to Kafka and Redpanda

RoxaApache KafkaRedpanda
Data storageS3 (diskless)Broker disksDisks + tiered
RuntimeRust, no JVMJVM + ZK/KRaftC++
Loss on node failureNone — data is in S3Possible before replication completesPossible
Getting startedA single binaryCluster + coordinationCluster
Kafka clientsYesYesYes
Cost of ownershipPerpetual license, minimal operationsFree + an operations teamEnterprise subscription from a US vendor

Latency depends on the durability mode and the storage: tens of milliseconds on local NVMe/MinIO, higher on remote S3. We do not promise numbers we cannot keep.