Hacker News new | ask | show | jobs
by caust1c 2505 days ago
I'm working at Segment now as a Software Engineer in Infrastructure. We just went through a big effort to remove NSQ (in favor of Kafka). Happy to answer any questions.
1 comments

What pushed you to move to Kafka?
Reliability, scalability and tooling (in that order).

Basically Kafka provides what NSQ is lacking: https://nsq.io/overview/features_and_guarantees.html

Messages are durable (across nodes, not just persisted to the filesystem). Messages are delivered in-order (for a partition). Consumers know all partitions of a topic from startup, it's not eventually consistent.

NSQ has been great honestly, it was just designed with different use cases in mind.

Was language a deciding factor? NSQ being Go while Kafka is Java.
Not at all. We mostly use Go internally for backend services, so if anything that was a point for NSQ.
What about NATS Streaming? Is it a viable alternative (now at version 2.0) to Kafka?