Stateless Kafka-compatible messaging

Kafka semantics. Object storage durability.

A stateless Rust message queue committing durable records to S3 and ordered metadata to PostgreSQL.

Replaceable compute nodes move immutable record blocks into durable object storage while a separate metadata lattice preserves ordering.
74 Kafka API keys
2.2.1 + 2.3.0 Flink acceptance
Zero Agent-local WAL
Apache-2.0 Open-source license

Durability without broker disks.

Produce is acknowledged only after the immutable object exists and PostgreSQL commits its ordered span metadata.

  1. A

    Batch in memory

    Bounded batches flush on the configured time or size threshold.

  2. B

    Write immutable objects

    OpenDAL writes unique objects across topics and partitions.

  3. C

    Commit ordered spans

    PostgreSQL allocates offsets and atomically publishes visibility.

  4. D

    Fetch exact ranges

    Agents resolve ordered spans and read only the required bytes.

Any Agent can serve any partition.

Replaceable compute

No partition data lives on the Agent.

Scale, replace, or roll Agents without moving replica logs or attaching persistent volumes.

Kafka clients stay Kafka clients.

Java, librdkafka, franz-go, Flink, and Kafka Streams use the wire protocol.

Object ranges replace log replicas.

Immutable shared objects support exact range reads and orphan cleanup.

One ordered control plane.

Offsets, groups, transactions, ACLs, and object spans converge in PostgreSQL.

Compatibility claims stay explicit.

ApiVersions advertises handled versions and rejects unsupported behavior.

Compatibility is measured, not implied.

The dated acceptance result records exact clients, versions, fault cases, and unsupported physical broker behavior.

Kafka Java3.9.2 and 4.2.0
Flink2.2.1 and 2.3.0
Kafka Streams4.2.0
librdkafka2.15.0
franz-go1.21.5

Install the package for your architecture.

Debian and RPM packages include the binary, a hardened systemd unit, and an environment template. Installation does not start the service.

Distribution
Architecture
rutomq_0.1.0_amd64.deb

Evaluate the real operating envelope.

Start locally with Compose, inspect consistency semantics, then move the stateless Agent deployment to Kubernetes.

Run it where Kafka clients already live.

Keep compute replaceable and durable state in shared infrastructure.