
- ZeroMQ - Home
- ZeroMQ - Overview
- ZeroMQ - Installation
- ZeroMQ - Features
- ZeroMQ Messaging
- ZeroMQ - Socket Types
- ZeroMQ - Communication Patterns
- ZeroMQ - Transport Protocols
- ZeroMQ - Message Framing
- Scaling & Performance
- ZeroMQ - Load Balancing
- ZeroMQ - SMP
- ZeroMQ - Multithreading
- ZeroMQ - Performance Considerations
- ZeroMQ Useful Resources
- ZeroMQ - Useful Resources
- ZeroMQ - Discussion

ZeroMQ Tutorial
ZeroMQ Tutorial
ZeroMQ is an high-performance, asynchronous, Open-Source, Universal Messaging Library aimed to be used in distributed or concurrent applications.
Distributed or concurrent applications are systems where components or services are spread across multiple network computers. These components work together to achieve a common goal but operate independently.
ZeroMQ can also be spelled or known as − MQ, 0MQ, or ZMQ. If you come across any of these variations, don't be confused, as they all refer to ZeroMQ. Though ZeroMQ is often described as Embeddable Networking Library, it will act as a concurrency framework.
Our ZeroMQ tutorial helps you learn ZeroMQ in simple and easy steps so that you can quickly use it in distributed or concurrent applications. It covers most of the important concepts related to ZeroMQ, providing a basic to intermediate understanding of ZeroMQ and helping you to pickup the advanced topics from there.
The Zero in ZeroMQ
The zero in ZeroMQ denotes, zero brokers (ZeroMQ is broker-less), zero latency, zero cost (it is free to use, no paid version needed), and zero administration.
Why to Learn ZeroMQ?
As we discussed earlier, ZeroMQ is an Open-source Universal Messaging Library and acts as a concurrency framework. It is especially advantageous for developers working on high-performance distributed or concurrent systems.
The ZeroMQ provides a lightweight messaging framework that enables efficient and scalable communication between different components of a distributed system. Below are key points highlighting the reasons for learning ZeroMQ −
- High Performance
- Broker-less Architecture
- Scalability
- Open-source and Cost-effective
- Versatile Messaging Patterns
Used by Companies
Following is a list of famous companies that use the ZeroMQ messaging library for their distributed applications −
- Microsoft
- Samsung
- Bitcoin
- Jupyter
Prerequisites to Learn ZeroMQ
Before proceeding with ZeroMQ, you should have the basic knowledge of the following technologies and fundamentals −
- Basic Programming Knowledge
- Networking Fundamentals
- Basic Knowledge of Messaging Pattern
- Concurrency and Parallelism
- Familiarity with Development Tools
- Understanding of Multi-threading (optional)
Frequently Asked Questions about ZeroMQ
There are some very Frequently Asked Questions(FAQ) about ZeroMQ, this section tries to answer them briefly:
ZeroMQ is a Open-source Universal Messaging Library that is used to provide a concurrency framework for the distributed and concurrency applications.
No, ZeroMQ does not store messages on disk.You can build your storage queues if you need to store messages.
To create a ZeroMQ context, use zmq_init(3) when initializing a process.To destroy a ZeroMQ context, use zmq_term(3) when terminating a process.
A REP socket is used by a service to receive requests from clients and send responses to them.