ØMQ – The Guide (2011)
zguide.zeromq.org
ØMQ – The Guide (2011)
1–10 of 117 posts
Re: ØMQ – The Guide (2011)
#2Re: ØMQ – The Guide (2011)
#3Re: ØMQ – The Guide (2011)
#4I recommend changing the landing page to include a clear description of what this is.
Re: ØMQ – The Guide (2011)
#5I recommend changing the landing page to include a clear description of what this is.
Re: ØMQ – The Guide (2011)
#6I have a feeling that ØMQ is a very good thing, but all these years I have never managed to understand what it is and what problem does it solve.
Re: ØMQ – The Guide (2011)
#7I have a feeling that ØMQ is a very good thing, but all these years I have never managed to understand what it is and what problem does it solve.
zeromq is the same way. It's not a replacement for something like kafka or rabbitmq, it's a replacement for socket()
Re: ØMQ – The Guide (2011)
#8I have a feeling that ØMQ is a very good thing, but all these years I have never managed to understand what it is and what problem does it solve.
”ZeroMQ (also spelled ØMQ, 0MQ or ZMQ) is a high-performance asynchronous messaging library, aimed at use in distributed or concurrent applications. It provides a message queue, but unlike message-oriented middleware, a ZeroMQ system can run without a dedicated message broker.”
I read it as a low-level abstraction for when you want to build a custom messaging infrastructure.
Re: ØMQ – The Guide (2011)
#9I have a feeling that ØMQ is a very good thing, but all these years I have never managed to understand what it is and what problem does it solve.
Re: ØMQ – The Guide (2011)
#10I have a feeling that ØMQ is a very good thing, but all these years I have never managed to understand what it is and what problem does it solve.
It does bring some nice things to the table, but using it has always felt at least a little bit "weird" to me. The docs are a little weird, and there are random caveats sprinkled around the library (e.g. you don't need to synchronize the startup of dependent services like described above, unless you were using certain transports in older versions and so on).
It used to be marketed somewhat towards developing multi-threaded applications, but it was always rather unclear what exactly the advantage of using, for example, the comparatively slow PUSH/PULL socket (ipc:// are pipes) over a MPMC (or as needed) queue ought to be.
It is also marketed towards resilient distributed apps, but, perhaps I was holding it wrong, but it'd always behave much like TCP and stuff like REQ/REP would pretty much always block forever if the peer goes away, while stuff like PUSH/PULL isn't reliable when peers go away, so for a distributed app these can't really be used anyway. So for this use case it always seemed rather too low-level and its guarantees too weak / non-applicable.