Our team is evaluating KStreams and Reactive Kafka (version 0.11-M4)  on a 
confluent 3.0 cluster.  Our testing is very simple (pulling from one topic, 
doing a simple transform) and then writing out to another topic.

The performance for the two systems is night and day. Both applications were 
running on a laptop and connecting to kafka over a wifi network.  Here are the 
numbers:

KStreams: ~14K messages per second
Reactive Kafka: ~110 messages per second

Both the input, and output topic had 54 partitions.  I’m fairly certain I’m not 
using Reactive kafka with good configuration.  Here is some stubbed out code: 
https://gist.github.com/anduill/2e17cd7a40d4a86fefe19870d1270f5b

One note, I am using the confluent stack (hence the CachedSchemaRegistryClient)

I like the flexibility of Reactive Kafka, so we’d really like to use it…but if 
performance is going to be like this, I can’t really justify it.  I’m a 
scala/akka/streaming-akka newbie, so I’m sure there are better ways to use the 
API.  Any help is appreciated.

-David

Reply via email to