What is ØMQ?
- ØMQ intends to be a new layer of the Internet stack.
- It's both protocol and implementation.
- Its added value is providing communication patterns between multiple applications.
- It allows you to write server applications in couple of lines of code.
- It makes distributing data to many applications easy.
- It provides means to implement HPC clusters painlessly.
- Aside of being a layer in the stack ØMQ project comes with daemons to route application data across the network according to your needs.
- ØMQ can be used to communicate over the network, between processes, between threads in a single process or to do all of it at the same time.
What should I expect from ØMQ?
- Socket-like API in many different programming languages.
- Message-based communication as opposed to simple stream of bytes.
- Sending and receiving messages asynchronously.
- 30 usec end-to-end latencies and millions of messages per second.
- Low memory footprint. The core requires just a couple of pages in resident memory.
- Support for different underlying protocols: TCP, PGM (reliable multicast), IPC, and more.
- Support for different OSes: HP-UX, Linux, Mac OS X, NetBSD, OpenVMS, Solaris, Windows, and more.
- Support for different microarchitectures: x86, AMD64, SPARC, IA-64, ARM and more.