logoalt Hacker News

Show HN: Walrus – a Kafka alternative written in Rust

121 pointsby janicerklast Monday at 3:28 PM36 commentsview on HN

Comments

enethertoday at 4:24 PM

For Rust-based Kafka alternatives, I like Tansu[1]. It at least provides Kafka API parity, and critically also gives users a pluggable backend (embedded SQLite, S3 for low cost diskless type workloads and Postgres because just use Postgres)

It’s nice to try and out innovate Kafka, but I fear the network effect can’t be beaten unless the alternative is 10x better.

Something like Warpstream’s architecture[2] had a shot at dethroning Kafka, but critically even they adopted the Kafka API. Sure enough, Apache Kafka introduced a competing feature[3] within two years of warpstreams launch too.

[1] - https://github.com/tansu-io/tansu [2] - https://www.warpstream.com/ [3] - https://topicpartition.io/blog/kip-1150-diskless-topics-in-a...

Barathkannatoday at 2:27 PM

Walrus isn’t trying to replace Kafka, but it does beat Kafka in a few narrow areas. It’s a lightweight Rust-based distributed log with a fast WAL engine and modern I/O (io_uring), so the operational overhead is much lower than running a full Kafka stack. If you just want a simple, fast log without JVM tuning, controllers, or the entire Kafka ecosystem, Walrus is a lot easier to run. Kafka still wins on ecosystem, connectors, and massive scale, but Walrus is appealing for teams that want the core idea without the complexity. Really impressed by the direction here, great work!!.

show 1 reply
lionkortoday at 12:04 PM

Fun anecdote; a couple years ago I started writing a Kafka alternative in C++ with a friend. I got pretty far, but abandoned the project.

We called it `tuberculosis`, or `tube` for short; of course, that is what killed Kafka.

show 2 replies
k_bxtoday at 11:11 AM

There's also Iggy https://github.com/apache/iggy

Never tried it, but looks promising

show 3 replies
roncohentoday at 10:35 AM

As someone who myself worked on a hobby-level Rust based Kafka alternative that used Raft for metadata coordination for ~8 months: nice work!

Wasn't immediately clear to me if the data-plane level replication also happens through Raft or something home-rolled? Getting consistency and reliability right with something home-rolled is challenging.

Notes:

- Would love to see it in an S3-backed mode, either entirely diskless like WarpStream or as tiered storage.

- Love the simplified API. If possible, adding a Kafka compatible API interface is probably worth it to connect to the broader ecosystem.

Best of luck!

show 2 replies
teleforcetoday at 11:57 AM

For Kafka alternative written in C++ there's Redpanda [1],[2].

Redpanda claim of better performance but benchmarks showed no clear winner [3].

It will be interesting to test them together on the performance benchmarks.

I've got the feeling it's not due to programming language implementation of Scala/Java (Kafka), C++ (Redpanda) and Rust (Walrus).

It's the very architecture of Kafka itself due to the notorious head of line problem (check the top most comments [4].

[1] Redpanda – A Kafka-compatible streaming platform for mission-critical workloads (120 comments):

https://news.ycombinator.com/item?id=25075739

[2] Redpanda website:

https://www.redpanda.com/

[3] Kafka vs. Redpanda performance – do the claims add up? (141 comments):

https://news.ycombinator.com/item?id=35949771

[4] What If We Could Rebuild Kafka from Scratch? (220 comments):

https://news.ycombinator.com/item?id=43790420

show 4 replies
gethlytoday at 2:18 PM

I never understood the popularity of Kafka. It's just a queue with persistent storage(ie. not in-memory queu with ram-size limited capacity) after all.

show 2 replies
WD-42today at 5:00 PM

Are those dips in the write throughput comparison for Kafka GC pauses?

fareeshtoday at 2:26 PM

coo coo ca choo

ertucetintoday at 2:49 PM

We need Rust alternative not written in Rust

hexotoday at 4:29 PM

Why. Just why. Rewrite for sake of rewrite. I'm clapping. It's enough.

oulipo2today at 11:50 AM

Nice! How does it compare to Redpanda, NATS, etc?

show 1 reply
throwfaraway135today at 2:33 PM

[dead]

YouAreWRONGtootoday at 2:12 PM

[dead]

arschfickniggertoday at 12:38 PM

[flagged]