I found ZeroMQ via mongrel2 as well. It's absolutely brilliant. It's the simplest and most versatile way to do async, load balanced services I have ever seen. Even for plain request/response it's way simpler than TCP alone and it does all of that without some huge bloated messaging middlware server infrastructure. It's just a simple in-process library. It really doesn't get much more complicated than what is shown in the article, even for things like pub/sub.
mongrel2 makes use of it in a very smart way as well. You don't need to tell mongrel2 about each and every backend process you're going to use. It's the other way around. The backend processes you start just connect to mongrel2 via ZeroMQ and bang they get their fair share of requests. The protocol is incredibly simple. You could implement it for a new language in an hour. The mongrel2 + ZeroMQ combination was really an eye opener for me in terms of how server-side processes should interact. This is going to be big.
I'm very excited to see where this sort of pattern goes. Swiss-army knife middleware projects are much less interesting to me than the more minimalist approach possible directly using 0MQ.
I started using ZeroMQ for async messaging for my Django project (with pyzmq) a couple of days back. I use it for pulling data from third party apps and sending emails from my app. Enhanced user experience greatly because of non-blocking calls. The APIs abstract the nitty-gritty networking details so well, that it feels like child's play to build async messaging for WSGI apps.
mongrel2 makes use of it in a very smart way as well. You don't need to tell mongrel2 about each and every backend process you're going to use. It's the other way around. The backend processes you start just connect to mongrel2 via ZeroMQ and bang they get their fair share of requests. The protocol is incredibly simple. You could implement it for a new language in an hour. The mongrel2 + ZeroMQ combination was really an eye opener for me in terms of how server-side processes should interact. This is going to be big.