37 ms·
Guess it depends on the definition of "queue". Potentials: - https://nsq.io/ - https://nats.io/
by gizzlon 7y ago
Guess it depends on the definition of "queue". Potentials:
- https://nsq.io/
- https://nats.io/
- eropple 7y agoI am curious what definition of "queue" fits NSQ. It's a distributed messaging platform.
- gizzlon 7y agoThe normal one. It puts stuff in a queue. "nsqd is the daemon that receives, queues, and delivers messages to clients."
- polskibus 7y agoDo they offer at-least-once or better delivery guarantees?
- polskibus 7y agoSeems like NATS streaming would fit my case - have you heard of any real world deployments that use it ? Are there any larger issues that don't make it a good choice ?
- manigandham 7y agoNATS Streaming is not as well tested and has some design issues that make scaling hard. NATS itself has a new version 2 that has a protocol update and NATS Streaming should follow with a new design as well, but I would recommend other options if you want persistence.
- tuxychandru 7y agoCan you share some details or point to articles describing the design issues with NATS streaming?
- manigandham 7y agoSee the other comment but this is a good post/series: https://bravenewgeek.com/building-a-distributed-log-from-scratch-part-5-sketching-a-new-system/ https://bravenewgeek.com/building-a-distributed-log-from-scr...
- polskibus 7y agoWhat are the design flaws that you have in mind? Is it ok for a couple of nodes or even then it would have trouble to keep up with a medium load? Or maybe the design flaws are to do with providing durability and other guarantees? What other options would you recommend, that can provide at least once delivery and are lighweight enough not to require zookeeper etc?
- manigandham 7y agoNats streaming isn't just a persistence layer to NATS. It's an entirely different system that basically acts as a client to NATS and then records messages it sees. Basically think of how you would design a persistent queue on top of the ephemeral NATS pub/sub and that's what NATS streaming is. Here's a good post (and series) about distributed logs and NATS design issues: https://bravenewgeek.com/building-a-distributed-log-from-scratch-part-5-sketching-a-new-system/ https://bravenewgeek.com/building-a-distributed-log-from-scr...
- polskibus 7y agoIs this what you meant ? https://github.com/nats-io/nats-streaming-server/issues/168 https://github.com/nats-io/nats-streaming-server/issues/168