Rowan: ZeroMQ, I don't know what all the fuss is. I mean, it's just sockets!
Kim: Yeah, right. It's just sockets. Course, it's totally portable so you don't have to handle all the weird stuff different operating systems ask you to do.
Rowan: Yeah, but apart from portability, ZeroMQ is just sockets!
Kim: Oh, and it delivers you whole messages, instead of a stream of bytes. That's kind of useful.
Rowan: Well, message framing, of course. But apart from framing and portability, ZeroMQ is just sockets!
Kim: The background I/O comes in handy. You can chuck it messages as fast as you like and it'll queue them and send them in the background.
Rowan: Well, obviously! But apart from queuing and background I/O, portability…
Amari: Don't forget that it works in pretty much every language and lets them all talk to each other.
Kim: And you connect one socket to many endpoints, or bind it, or mix that all together!
Rowan: Yeah, but apart from being able to create any topology,…
Amari: Oh, and I like the fact it's got a huge community behind it.
Kim: And don't forget it's free. And really fast!
Rowan: Sure, sure, but apart…
Amari: And how the same sockets can talk between threads, or over TCP or over multicast.
Kim: And the patterns… I mean, it's like every socket is a tiny server. And batching.
Amari: Don't forget its bounded buffers, those are really useful.
Kim: Have you tried inproc messaging for multithreading? It works so well, it's amazing.
Rowan: But… but…
Amari: And even though it really focuses on message delivery, it's simple to build all kinds of reliability on top
Kim: And its inbuilt elliptic curve encryption with perfect forward security, that's pretty awesome
Rowan: OK, OK!
Kim: …
Amari: …
Rowan: APART FROM portability, message framing, super fast asynchronous I/O, queuing, support for every bloody language anyone cares about, huge community, price tag of zero, mind-blowing performance, protection from memory overflows, loads of internal consistency checks, patterns like pub/sub and request/reply, batching, and seamless support for inter-thread transport as well as TCP, TIPC, and reliable multicast, not to mention strong security at the transport level, and full backwards compatibility with versions back to 2-dot-something, ZEROMQ IS JUST SOCKETS!!!
Amari: Sure!
Kim: You forgot zero-copy and automatic TCP reconnection…
yeah but its just sockets!
yeah…..but its just sockets…lolzzzz
But what have the romans ever done for us?
I have to watch Life of Brian again because of this comment =D
maybe it's just sØckets!
I actually was wondering whether to use raw sockets or zmq and got here via google search. I guess I'm persuaded ;)
The same here ;)
You should have named the characters in the dialogue: Salviati, Sagredo and Simplicio!
Oh, and don't forget about custom error messages and logging!
But still it is just sockets :-)
Reminds me of some kind of spanish inquisition:
NOBODY expects the ZeroMQ Inquisition! Our chief weapon is portability…portability and message framing…message framing and portability…. Our two weapons are portability and message framing…and queuing…. Our *three* weapons are portability, message framing, and queuing….and super fast asynchronous I/O…. Our *four*…no… *Amongst* our weapons…. Amongst our weaponry…are such elements as portability, message framing…. I'll come in again.
But I'm just Harry.
It *should* be just sockets. 0mq is everything sockets should be. Especially in regards to framing versus streams.
Agreed.
It is just sockets. I can achieve the same using plain sockets. How it is different from other JMS implementations
¿You can achieve the same using plain sockets?
Can you take a plain socket, and call bind() for several addresses/ports on it ? Can you take a plain socket and call connect() simultaneously to different destinations? And then, can you call send() and distribute load over all those destinations, using a plain old socket? If those destinations disconnect, your plain socket reconnects automatically? The list here is really very long…
Get it! the guy is only saying that ZMQ is just layer over sockets!