[zeromq-dev] 0MQ vs TCP sockets - survey
Mikael Helbo Kjær
mhk at designtech.dk
Thu Oct 28 09:08:54 CEST 2010
Hi there
Just as Kelly Brock and others I've already sold this. I switched because 0mq resolved a lot of uncertainty in writing a high-performance dedicated networking solution for an async RPC we're planning to use for a larger product and I saw I could build a lot on top of 0mq. The main arguments were:
- We care a lot about performance and our own networking layer is the place we could lose a lot of it. 0mq has a proven high performance.
- We want to scale out later in our development cycle. 0mq is built for scaling and has great built in facilities for those scalability layers later.
- It is actively developed and used reducing our worry about stability and maintaining a low-level networking layer ourselves (replacing an crufty Boost ASIO solution).
- It looks to have a long-term possibility/intent of being an Internet fabric as adding amongst other things encryption has been discussed.
- It has a very simple and useable API that makes writing networking solution based on it easy as well as an almost comprehensive set of examples.
- It has binding is many programming languages allowing us to make our networking server setup heterogeneous.
My conclusion was and still is that 0mq can have crash bugs with regards to misbehaving client according to some people, but it was vastly better and more tested than hand-rolling a solution so that basically the only thing we as a company have missed is a built-in point to point datagram encryption transport in 0mq.
The only personal critique I have right now is that there is the Windows support seems weaker than the Linux support (we have both types as clients and servers) as I could really use an IPC solution for Windows. But I've just kept that part of our Boost based solution alive for now.
Regards,
Mikael
> As a kind of a survey / test to see if you're awake, I'd like to
> solicit your views, as 0MQ users and contributors, about the most
> significant differences between 0MQ and traditional TCP sockets. I.e.
> how would you convince your boss that it was worth using 0MQ rather
> than just coding your app the old fashioned way...?
>
> Feel free to +1 / 'this' other people's comments so we know what
> tickles you the most. I'll collect the results in a comparison
> document on the wiki.
More information about the zeromq-dev
mailing list