Está basada en colas de mensajes, pero a diferencia de otros middlewares orientados a mensajes, ZeroMQ no necesita un broker intermedio.
La API de la biblioteca está diseñada para ser muy similar a utilizar un socket BSD clásico.
Ha sido desarrollada en C++, aunque existen ports y bindings a muchos otros lenguajes (C, C#, Erlang, Go, Haskell, Java, JavaScript, Ruby, Rust...).
El resultado es que ZeroMQ está formado por un único elemento, una biblioteca, que se compila y enlaza con cada programa cliente o servidor, formando así un sistema rápido y eficiente de comunicación asíncrona por mensajes.
Estos patrones se encargan de especificar y detallar la topología del conjunto del sistema y el flujo de mensajes entre sus distintas partes.