ZeroMQ is a high-performance asynchronous messaging library, aimed at use in distributed or concurrent applications. It provides a message queue, but unlike message-oriented middleware, a ZeroMQ system can run without a dedicated message broker.
Customer Reviews
Matteo F.
Advanced user of ZeroMQYou can really design the pattern which bests fits your needs. Whether you need PUB-SUB or a broker, you can build tools tailored on your needs, knowing that you will always be able to modify and add new features as desired.
Available for a large number of programming languages.
Documentation is extensive and examples are provided for the various languages.
The CURVE mechanism ensures secure authentication and confidentiality, making ZeroMQ a good choice also for IoT or other applications requiring communication over the internet.
The community is large and active.
Designing your own tools may be complicated, and if one is looking to solve a very common problem, choosing a tool to solve the specific task could be the better choice.
https://learning-0mq-with-pyzmq.readthedocs.io/en/latest/
The ZeroMQ guide (https://zguide.zeromq.org/) with extensive examples, can take a while to read, but is definitely worth the effort.
For python users, a very useful resource is "Learning ГMQ with pyzmq" (https://learning-0mq-with-pyzmq.readthedocs.io/en/latest/)
Issues and discussions on Github are always a source of problem solving information, and inspiration.
I needed a lightweight alternative to HTTPS for synchronous communication for an IoT application.
With ZeroMQ i managed to realize a tool of this kind, which now also works as the very backbone of our microservices infrastructure.
With a single tool we managed to obtain both a lightweight yet secure communication channel between devices and backend, as well a microservices communication channel for a scalable backend infrastructure.