I am considering using ZeroMQ myself - so I came across this question.
Assume at the moment that you have the opportunity to implement a message queuing system that meets all your requirements. Why do you accept ZeroMQ (or another third-party library) on a roll-your-own basis? Simple cost.
Assume for a moment that ZeroMQ already meets all your requirements. All you need to do is integrate it into your assembly, read some documentation, and then start using it. It was much less effort than folding your own. In addition, the burden of maintenance was transferred to another company. Since ZeroMQ is free, it looks like you just created your development team to include (part of) the ZeroMQ team.
If you started a software development business, then I think that you would balance the cost / risk of using third-party libraries against your own, in which case using ZeroMQ will win hands.
Perhaps you (or, rather, your partner) suffer, as many developers do, from Not Invented Here ? If so, adjust your attitude and reevaluate the use of ZeroMQ. Personally, I prefer a profitable relationship with other people. I hope I can be proud of finding ZeroMQ ... time will tell.
EDIT: I came across this video from the ZeroMQ developers, which talks about why you should use ZeroMQ.
Daniel Paull Jul 04 '10 at 3:10 2010-07-04 03:10
source share