← Back to context

Comment by teleforce

6 days ago

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=43790420

In the current benchmarks, I only have Kafka and rocksdb wal, will surely try to add redpanda there as well, curious how walrus would hold up against seastar based systems.

  • I don't see any mentions of p99 latency in the benchmark results. Pushing gigabytes per second is not that difficult on modern hardware. Doing so with reasonable latency is what's challenging. Also, instead of using custom benchmarks it's better to just use the OMB (open-messaging benchmark).

> It's the very architecture of Kafka itself due to the notorious head of line problem

Except a consumer can discard an unprocessable record? I'm not certain I understand how HOL applies to Kafka, but keen to learn more :)

  • > Except a consumer can discard an unprocessable record?

    It's not the unproccessable records that are the problem it is the records that are very slow to process (for whatever reason).

Yeah but how is a C++ based project supposed to hit the HN frontpage?

  • By having a use-after-free bug that caused a noticeable and catastrophic incident.

    • Like that Cloudflare outage from the other day? In any case, I'm sure there's good reason to believe that, as Rust gains popularity, there totally won't be proportionally more high profile issues in stuff made with it.

      2 replies →

Or it’s I/O-bound.

  • That was my first reaction. It's not like Java is terribly slow, so rewriting it in a slightly faster language seems like an empty exercise.