Hacker News new | ask | show | jobs
by wcdolphin 2504 days ago
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.
1 comments

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.