
Benchmarking Commit Logs: NATS Streaming vs. Apache Kafka - bjflanne
http://bravenewgeek.com/benchmarking-commit-logs/
======
draaglom
From the looks of things, both are "fast enough".

What I'd like to hear more about now is ease of use - I'm told that with Kafka
you have to be quite careful around planning the number of topics / partitions
you'll use up front. Does NATS improve on that?

~~~
ikapcera
In NATS Streaming, you can configure the maximum number of channels (name of a
topic in NATS Streaming). The channel is then created when a client either
publishes messages to it, or create a consumer on that. A channel then logs
message on this topic as a ring buffer based on channel limits (although you
can set to unlimited if you have enough resources).

From a client perspective, there is no API to create a channel, you simply
publish or consume:

conn.Publish("foo", []byte("msg"))

conn.Subscribe("foo", msgCb)

Hope this helps!

~~~
chmike
I'm very impressed by the small foot print of NATS server (2.8MB). It's
definitely an interesting choice for IoT. We currently have to make a choice
between kafka and Nats and the decision is not easy. :)

Is it possible to know if the cluster version of nats will really be available
in 2017 ? Our satellite is only launched in 2019. We would use it in the data
processing center.

~~~
tarheel84
Yes, clustering will be available in NATS Streaming in 2017 (the development
has already begun, and it's a high priority item). Drop me an email - be happy
to discuss further and learn more about your requirements/answer any other Q's
you may have about it: brian@nats.io

