opened
msnh2012
username_0
Thx！
nanomsg and zmq, which is better for industrial software？
issue
created
gdamore
username_1
First off, for most use cases I recommend NNG instead of nanomsg.  NNG is a full up rewrite of nanomsg, and receives much more developer attention (from me) these days.  It is designed for reliability and scalability.  It's also got a much bigger emphasis on security.

Having said all that, you really should look at the requirements in more detail.  ZeroMQ has a larger user base, but is written in C++.  I don't think it is as reliable as NNG, but more along the lines of nanomsg itself.

ZeroMQ and nanomsg are more predictable than NNG in their timeliness, as they operate from a single event loop -- this makes them scale less well, but if you're using industrial control equipment in a tightly constrained environment running on a single CPU core, they might fare better.  Note that none of these systems are real-time compliant however.  There are industrial users of NNG, nanomsg, and ZeroMQ.

You probably also want to look at what the rest of your code base is.  C++ and the licensing considerations (GPL or LGPL) behind ZeroMQ can sometimes exclude them from consideration.   NNG and nanomsg are both written in C and have liberal MIT style licensing.

Btw, if you're using golang, you should *really* have a look at mangos (github.com/nanomsg/mangos)  as it is similar to NNG, but written in pure Golang.  (Having said that, I guess Golang has very little penetration into the industrial market.)
comment
created
msnh2012
username_0
Got it, thx！
comment
closed
gdamore
username_1
issue