What's messaging?
Getting two applications to talk is always a challenge. They have to agree on what the data looks like. And what it means. They have to agree on how the data is organised into a message. XML, binary, or something else? They have to agree how to speak to each other. They have to agree on security. They have to agree how to connect, across what networks. They need to queue messages that can't be delivered immediately. They need to detect and handle errors properly.
Many applications try to solve these problems from scratch. But you can also buy big, expensive, slow packages called messaging systems that handle a lot of these jobs for you. Using a messaging system usually costs a lot but it gives you the power to bring apps together.
Messaging used to be for big wealthy firms only, and the really fast messaging systems are still very expensive. This situation is changing.
What's ØMQ?
- ØMQ is a lightweight messaging implementation.
- ØMQ supports different messaging models.
- ØMQ is already very fast. We're getting 13.4 microseconds end-to-end latencies and up to 4,100,000 messages a second today.
- ØMQ is very thin. Requires just a couple of pages in resident memory.
- ØMQ is fully open sourced LGPL-licensed software written in C++.
- ØMQ provides C, C++, Java, Python, .NET/Mono and Fortran language APIs.
- ØMQ supports different wire-level protocols: TCP, PGM, AMQP, SCTP.
- ØMQ runs on AIX, FreeBSD, HP-UX, Linux, Mac OS X, OpenBSD, OpenVMS, QNX Neutrino, Solaris and Windows.
- ØMQ supports i386, x86-64, Sparc, Itanium, Alpha and ARM microarchitectures.
- ØMQ is fully distributed: no central servers to crash, millions of WAN and LAN nodes.
- ØMQ is an extensible framework: kernel-style drivers for custom hardware, protocols or applications.
Who are we?
ØMQ is a collaboration between a group of firms, namely FastMQ (which brings experience of the financial messaging market), iMatix (which brings the AMQP expertise), Intel (which brings hardware expertise) and other firms with hardware, operating system, network, and application expertise. FastMQ Inc. unifies all copyrights on the code.
Recent highlights
- May 29th, 2009: ØMQ/0.6.1 is available. This version adds Ruby and COBOL bindings to ØMQ. In addition it fixes couple of bugs found in version 0.6.
- May 25th, 2009: Slovak Technical University student Patrik Csókás spent few weeks in our company to finish his Bachelor work with subject "Optimising network hardware in business messaging environments". PDF version can be found here.
- April 24th, 2009: Whitepaper discussing methodology for measuring and analysis latency jitter is available here.
- April 8th, 2009: ØMQ/0.6 is available. This version introduces load-balancing capabilities, on-disk offload for the large queues, support for Mono and OpenVMS etc.
- March 1st, 2009: Blog on ØMQ port to OpenVMS platform can be found here.
- February 8th, 2009: There's an article discussing how low-level monitoring tools like Wireshark can be used to monitor network traffic based on business criteria. Example is included that shows how to get graph representation of bandwidth used by stock quotes vs. trades vs. order confirmations.
- February 6th, 2009: ØMQ/0.5 is available. New version introduces .NET compatibility, PGM reliable multicast, AMQP and SCTP support, congestion management as well as several other features.
- January 7th, 2009: Windows installer package for ØMQ/0.4 is available here.
