Hacker News new | past | comments | ask | show | jobs | submit login
Benchmarking Commit Logs: NATS Streaming vs. Apache Kafka (bravenewgeek.com)
75 points by bjflanne on Dec 1, 2016 | hide | past | favorite | 5 comments



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?


Well, on the plus side, you don't have to worry about any of that with NATS streaming.

On the negative, you don't _get_ to worry about it, because NATS Streaming doesn't support any sort of clustering at all. That, and it has approximately zero documentation.

I visited this topic a couple of months ago, and concluded that NATS Streaming is just too immature right now. Some six months from now I might revisit it, because it does look good, but at the moment it's just too green to consider.


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!


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.


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




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: