Hacker News new | ask | show | jobs
by tgtweak 2506 days ago
Been using nats for a few projects lately and really enjoying it. One of the many great golang projects. Resource utilization compared to kafka is tiny.

Re: msq: Looks like segment are using kafka these days despite the praise for nsq in this dated article.

2 comments

As of 2017 they were migrating everything over to Kafka: https://news.ycombinator.com/item?id=14451148
Out of curiosity, are you using the durable, NATS-Streaming server, or just the ephemeral NATS-server? I’d be interested to hear more about the performance differences you see.
Using a single ephemeral instance with request/response mechanics as a kind of load balancer for messages. Publishers have persistency so it is not needed in the queue. 120Mb of memory usage and <2% of one core handling 10000 messages/s (as per nats-top) and it's been up for 2 years without and increase in memory size or failed messages.

The real allure was the guarantee that only one subscriber would get a request much like a traditional load balancer. The performance was an added benefit.

When we put it together a few years ago the cloistering wasn't very mature and the streaming version with persistence wasn't completed. Would look into this over kafka if only for the simplicity in management and track record of go for performance and reliability.