ØMQ Blog

Ruby Gem for ØMQ/2.0.7 available! - 29 Jun 2010 08:19 - by martin_sustrik - Comments: 0

Brian Buchanan announces:

The ØMQ Ruby bindings are now published as the "zmq" gem. The current gem supports libzmq 2.0.7 for Ruby 1.8 and Ruby 1.9. Threads are supported for Ruby 1.9 only. Install with "gem install zmq" or see the wiki for more detailed instructions.


ZeroMQ an introduction - 23 Jun 2010 09:27 - by martin_sustrik - Comments: 1

Nicholas Piël wrote a great blog introducing readers to the basic concepts of ZeroMQ.

ZeroMQ is a messaging library, which allows you to design a complex communication system without much effort. It has been wrestling with how to effectively describe itself in the recent years. In the beginning it was introduced as ‘messaging middleware’ later they moved to ‘TCP on steroids’ and right now it is a ‘new layer on the networking stack’.

I had some trouble understanding ZeroMQ at first and really had to reset my brain. First of all, it is not a complete messaging system such as RabbitMQ or ActiveMQ. I know the guys of Linden Research compared them, but it is apples and oranges. A full flexed messaging system gives you an out of the box experience. Unwrap it, configure it, start it up and you’re good to go.

ZeroMQ is not such a system at all; it is a messaging library to be used programmatically. It basically gives you a pimped socket interface allowing you to quickly build your own messaging system.


Mongrel2 Is "Self-Hosting" - 18 Jun 2010 10:15 - by martin_sustrik - Comments: 0

Zed Shaw has an interesting blog on Mongrel2 - a web server with ØMQ at the backend:

"It may not dawn on you quite yet, but I think this design has a very good chance of changing how we architect and deploy web applications. Imagine if you had available to you reliable asynchronous and synchronous web protocols, and that all of the messages from those protocols were transported to your backends with no regard for what language they were written in? Not only that but it wouldn't even care how many backends you had or where they were located."

Read more here: [http://sheddingbikes.com/posts/1276761301.html]

Internet Worldview in Messaging World - 08 Jun 2010 21:25 - by martin_sustrik - Comments: 0

A short story explaining what "messaging Internet-style" means can be found here:


Berlin Buzzwords 2010 - 07 Jun 2010 16:13 - by pieterh - Comments: 1

ØMQ gets a keynote slot tomorrow morning at the Berlin Buzzwords 2010 conference. About 300 FOSS developers and users are here at the Kosmos theatre in Berlin, listening to many speakers talk about "search, store, and scale".

Pieter Hintjens is giving this talk. There are no slides but the main message of the talk will be that if you're using sockets in your distributed applications, or if you're running across any more than one core or box, you should be looking at ØMQ.

We'll find the video of the talk when it's uploaded.

Loggly Switches to ØMQ - 05 Jun 2010 10:24 - by pieterh - Comments: 4


Loggly is a San Francisco startup providing log file management for cloud services. "Our goal is to build a highly scalable log management service which provides great value and is fast, fun and easy to use." Loggly has just switched to a ØMQ backend and report that "things are noticeably snappier."

ØMQ/2.0.7 (beta) released - 04 Jun 2010 18:05 - by mato - Comments: 12

I'm happy to announce the release of ØMQ version 2.0.7.

The new version is available immediately to download on the website, at:


Please note that due to incompatible API and ABI changes in this release, all language bindings will need to be updated to work with ØMQ 2.0.7. As these are maintained by the community it may take a few days for everyone to catch up.

A big thank you to all our contributors, and special thanks to Martin Sustrik for putting it all together!

Highlights of the 2.0.7 release:


  • The core documentation has been updated with many clarifications, especially in the description of the functionality provided by the different socket types.
  • The version of OpenPGM bundled with 0MQ has been updated to the 2.1.26 release.


  • GCC-isms have been removed from the code and build system across the board; ØMQ should now build with no issues when using compilers other than GCC.


  • The zmq_init() function now has only a single parameter; the number of ØMQ I/O threads to create in the context being initialised. The app_threads and flags parameters have been removed.
  • The ZMQ_P2P socket type has been renamed to ZMQ_PAIR.
  • The ZMQ_LWM socket option has been removed; the low water mark for a socket is now computed automatically by ØMQ.
  • A zmq_getsockopt() function has been added.

New functionality

  • Multi-hop request/reply is fully supported. This feature allows the insertion of device(s) between ZMQ_REQ and ZMQ_REP sockets thus enabling scenarios such as multi-threaded server, shared service queue, and other interesting messaging topologies. The entire infrastructure is transparent to applications.
  • Multi-part messages. A ØMQ message may now be composed of 1 or more message parts; each message part is an independent zmq_msg_t in its own right. ØMQ ensures atomic delivery of messages; peers shall receive either all message parts of a message or none at all. This feature allows for seamless zero-copy message passing when data are scattered in memory, and is an important building block for multi-hop messaging topologies.
  • Context termination and ETERM. The zmq_term() function has been changed to interrupt any blocking operations on open sockets, causing them to return the newly defined ETERM error code. This allows for orderly application termination, especially when multiple application threads are involved.

As always, a full list of changes may be found in the ChangeLog included in the distribution tarball, or in Git.


If you want to become a ØMQ blogger, contact us.

All posts

07 Feb 2011 10:21: Installing ZeroMQ and Java bindings on Ubunu 10.10 comments.png 0
03 Feb 2011 09:11: Python Multiprocessing With ØMQ comments.png 1
01 Feb 2011 21:29: ØMQ And QuickFIX comments.png 3
23 Dec 2010 09:33: Message Oriented Network Programming comments.png 0
19 Dec 2010 13:03: ØMQ/2.1.0 available on OpenVMS comments.png 0
13 Dec 2010 12:46: Load Balancing In Java comments.png 1
10 Nov 2010 10:01: Building a GeoIP server with ZeroMQ comments.png 0
31 Oct 2010 11:44: ØMQ blog by Gerard Toonstra comments.png 0
13 Oct 2010 10:47: ØMQ - The Game comments.png 0
09 Sep 2010 07:45: ZeroMQ and Clojure, a brief introduction comments.png 0
03 Sep 2010 18:07: ZeroMQ: Modern & Fast Networking Stack comments.png 0
02 Sep 2010 13:30: September Meetups comments.png 0
01 Sep 2010 16:05: Multithreading Magic comments.png 0
01 Sep 2010 11:25: Not To Be Confused comments.png 2
27 Aug 2010 05:39: ØMQ for Clojure comments.png 0
17 Aug 2010 07:20: ZeroMQ: What You Need to Know Braindump comments.png 0
03 Aug 2010 10:46: RFC: ØMQ Contributions, Copyrights and Control comments.png 1
02 Aug 2010 19:54: New - ØMQ Labs! comments.png 0
26 Jul 2010 14:02: Video Introduction to ØMQ comments.png 3
13 Jul 2010 20:19: ØMQ available at CPAN comments.png 1
12 Jul 2010 12:22: Welcome, Objective-C :-) comments.png 0
10 Jul 2010 13:42: Few Blogposts on ØMQ comments.png 2
29 Jun 2010 08:19: Ruby Gem for ØMQ/2.0.7 available! comments.png 0
23 Jun 2010 09:27: ZeroMQ an introduction comments.png 1
18 Jun 2010 10:15: Mongrel2 Is "Self-Hosting" comments.png 0
08 Jun 2010 21:25: Internet Worldview in Messaging World comments.png 0
07 Jun 2010 16:13: Berlin Buzzwords 2010 comments.png 1
05 Jun 2010 10:24: Loggly Switches to ØMQ comments.png 4
04 Jun 2010 18:05: ØMQ/2.0.7 (beta) released comments.png 12
24 May 2010 09:37: Building ØMQ and pyzmq on Red Hat comments.png 2
18 May 2010 06:30: To Trie or not to Trie comments.png 0
12 May 2010 13:02: ØMQ/2.0.6 on OpenVMS comments.png 3
08 May 2010 09:58: Zero-copy and Multi-part Messages comments.png 17
07 Apr 2010 10:23: The Long and Winding Road Behind comments.png 2
06 Apr 2010 16:41: Historical Highlights comments.png 0

Posts by date