4 ms·
As someone who's written more than my fair share of messaging code using a bunch of different middleware and frameworks, I've never really understood where Zero
by JonathonW 6y ago
As someone who's written more than my fair share of messaging code using a bunch of different middleware and frameworks, I've never really understood where ZeroMQ is supposed to fit. It's high-level enough that you have to learn something completely different than plain sockets (and have more stuff to debug when it breaks), while also being low-level enough that it can't provide many of the features I'd expect out of a message-oriented middleware-- no message broker, no anonymous pub-sub, no reliable transport, etc. unless you go and build them yourself (which they provide documentation and patterns for, but they're not things you get for free like you would with other frameworks).
"Bag of tools" is about right. Where RabbitMQ/AMQP or MQTT or DDS can, depending on exactly what I want to do, provide me an end-to-end solution where, with a bit of configuration and network management, throw in a message and expect it to go where I want it to, ZeroMQ hands me a pile of pieces with which I can, presumably, build a thing that will do the same thing. That's not something I've ever found that I need-- either one of the premade solutions fills my needs, or I go and write something myself and skip ZeroMQ.