I'm using it for research, so "semi-production". It's a wonderful framework, and the way things are architected certainly make sense once you fully grok it. But I've hit far too many problems to consider it production ready. I'm using jzmq, so some of this might be specific to that.
- Setting up jzmq on OS X / Eclipse is...not pleasant.
- Starting the application will occasionally cause an assertion failure in the ZeroMQ C code, so I need to wrap my application in something that checks for this exceptional state.
- Errors are oftentimes very undescriptive. I've had far too many illegal state exceptions with no explanatory message.
- There's no support for TLS. This is almost a deal-breaker for me, and I could easily see it ruling out its availability for a number of applications.
- Documentation is "off". The official guide is nice, but if you have a specific problem, it's usually not helpful. And it takes me longer than usual to find the answers to things when googling around. The mailing list is however pretty active.
BUT, and this is a big but, I can't count how many man-hours it has saved me. This post has a good summary of just a few of the ways it makes life more pleasant.