News for hackers. Stuff that matters.
Re:An introduction to RabbitMQ by dirtydroog on Thursday May 21, 2020 @11:22AM (#23259476)
We use ZeroMQ a bit. It's been pretty much flawless as far as I can see but I get the impression that it's becoming obsolete. Is RabbitMQ a viable replacement?
Re:An introduction to RabbitMQ by atombender on Thursday May 21, 2020 @11:38AM (#23259714)
The "MQ" in "ZeroMQ" is misleading, so this is an apples-to-oranges comparison. ZeroMQ is a socket abstraction that allows you to build apps that send messages to each other. RabbitMQ is a reliable message queue broker; a central server that stores messages and that clients connect to in order to push/pop them.
Re:An introduction to RabbitMQ by heinrichhartman on Thursday May 21, 2020 @11:38AM (#23259711)
You might find it interesting to note, that Peter Hintjens, was one of the core authors of the AMQP 0-9-1 Specification [1], that RabbitMQ is implementing.

ZeroMQ was born out of a frustration with complex routing patterns and the need for a broker-less architecture for maximal performance message delivery.

[1] https://www.rabbitmq.com/resources/specs/amqp0-9-1.pdf

Re:An introduction to RabbitMQ by jonathanoliver on Friday May 22, 2020 @12:42AM (#23268703)
He and Martin Sustrik both created ZeroMQ. Then after that, they saw some of the limits of ZMQ and created nanomsg. It's excited to see what cool stuff they were working on. It's a little hard to see ZeroMQ become abandonware from them. That said, the community is solid and supportive around ZeroMQ which actually I would say is the best part. In other words, you can tell if a project has staying power when the original creator no longer has to be there to maintain it.
Re:An introduction to RabbitMQ by lulf on Thursday May 21, 2020 @12:18PM (#23260378)
I'll add that the AMQP 1.0 spec (supported in Rabbit using a plugin) is a peer-to-peer protocol that supports both the traditional broker use case, 'direct' p2p messaging and opens some interesting uses of message routers like Apache Qpid Dispatch Router.
Re:An introduction to RabbitMQ by heinrichhartman on Thursday May 21, 2020 @02:46PM (#23263041)
I am no export but I have heard PH say, that it's much worse than the AMQP-0.9 Spec. It's a design-by-comitte thing, where he was sidelined.
Re:An introduction to RabbitMQ by jalons on Thursday May 21, 2020 @11:39AM (#23259724)
No. The only thing ZeroMQ and RabbitMQ have in common are the letters M and Q.

RabbitMQ is a messaging system. ZeroMQ is sockets on steroids.

Re:An introduction to RabbitMQ by jkarneges on Thursday May 21, 2020 @11:54AM (#23259955)
If the ZeroMQ community seems quieter lately it's because things work well and there's not much left to do within the project's intentionally limited scope. libzmq is certainly maintained.

Our company has been using ZeroMQ for over 8 years. We'll be putting out another ZeroMQ-based open source project soon too.

Re:An introduction to RabbitMQ by trevyn on Thursday May 21, 2020 @11:41AM (#23259765)
I think they’re slightly different solutions — ZeroMQ works without a broker, RabbitMQ requires a server process.

If you use the brokerless model, there was a bit of drama over ZeroMQ — the original technical developer (Martin Sustrik) left and created a successor, nanomsg, with what he learned. At some point, Martin lost interest, and Garrett D’Amore took over maintenance and did a rewrite called nng. Both the old nanomsg and nng are maintained, with nng being somewhat actively developed, but also fairly “complete”, so there’s not a lot of excitement like you see with some projects. ;) nanomsg and nng are essentially wire-compatible, so you can mix and match depending on bindings availability for your language.

Re:An introduction to RabbitMQ by dirtydroog on Thursday May 21, 2020 @01:48PM (#23261945)
Yes, my handwavy reading of the situation was that he left due to issues with zeromq that he couldn't/wasn't allowed 'fix'. Then Peter Hintjens unfortunately died a few years back. I haven't heard about nng, so thanks for that, I'll check it out.

ZeroMQ certainly isn't perfect, for example there's no way to tell if a message was successfully written to a PUB socket, or if it was dropped (just one minor issue)

https://stackoverflow.com/questions/13891682/detect-dropped-...

Anyway, This is digressing from the main topic

Re:An introduction to RabbitMQ by AnonC on Thursday May 21, 2020 @11:45AM (#23259829)
You should take a look at nng (nanomsg-next-gen) [1], which is a successor to nanomsg, which was a successor to ZeroMQ.

[1]: https://github.com/nanomsg/nng

Re:An introduction to RabbitMQ by wallstprog on Thursday May 21, 2020 @02:15PM (#23262505)
For now, I'll just address the one point -- obsolete? NOT!

We've been working with ZeroMQ a lot over the past couple of years, and have gotten to know some of the maintainers -- we've been very favorably impressed by their ability and dedication.

Pieter Hintjens was the "voice" of ZeroMQ, and with his passing things have gotten a bit quieter, but no less active. (Just take a look at the commit log: https://github.com/zeromq/libzmq/commits/master).

Re:An introduction to RabbitMQ by hhhlgp on Thursday May 21, 2020 @11:36AM (#23259675)
JeroMQ has been nothing but a pleasure. I don't see ZeroMQ being obsolete in its forked forms anytime soon.