I have worked with both ZeroMQ and Redis with python. I would say ZeroMQ is more robust, it offers real simple load balancing and also more than pub-sub, like request reply among others. But if you are only after pub-sub, redis is much simpler.
In case the redis server crashes or stops working, all the clients will stop working as well, with ZeroMQ, the clients work even if there is no server.
Both services are available with any programming language, ruby, python, C, C++ and more.
In short, redis is much simpler, very reliable. ZeroMQ is extremely reliable but more complex.
If I was only doing pub sub, I would pick redis, else I would pick ZeroMQ. If I would forsee huge loads of traffic, I would pick ZeroMQ
n-to-n
pub/sub? – Yasmineyasu