One major difference - ZeroMQ and Erlang.
jlouisramblings.blogspot.in
jlouisramblings.blogspot.in
In contrast, with ZeroMQ you have to have/set up channels, because these are sockets. At least, that's what's apparent to me that the author is saying. Is that correct?
You can run ZMQ devices which can act as routers, and you can easily create fan outs, fan ins, pipelines, and more.
For a mildly interesting example of building a "dynamic" typology, check this experiment: https://github.com/igrigorik/zeroconf-router
You can do Erlang/OTP-style processing over ZeroMQ, it simply doesn't enforce it. In fact, if you wish to do so, you should use (or build) a library around ZeroMQ as an abstraction. The use of that library will resemble the use of Erlang/OTP and will build-in these developer assumptions.
I like this idea. It would allow you to catch and log incorrect messages at the sender. And it would reduce the amount of static configuration by facilitating service discovery. But the type specification would be difficult to design well.
research.microsoft.com/en-us/um/people/simonpj/papers/parallel/remote.pdf