Learn ZeroMQ by Example!
A Work in Progress
If you'd like to help write examples, or if you've found an error, please write me, or fork and patch this repo.
ZeroMQ is one of the simplest and most exciting ways to build high performance, concurrent local and network applications. ZeroMQ uses a sockets style API to make powerful message-based programs fun to build.
Be sure to follow the examples in order, as concepts shown in earlier chapters won't be described later on.
- Get a functioning ruby, either jruby (recommended) or 1.9.2. I recommend using rvm to manage multiple rubies
- If you're using jruby the ffi gem it comes with will work fine. If using 1.9.2 you MUST install the special ffi gem.
- Download and install ZeroMQ from the ZeroMQ download page.
./configure && make && make install
gem install ffi ffi-rzmq zmqmachine. Make sure you have the ffi-rzmq gem >= 0.9.0 . All examples have been updated to use the newer API exposed in ffi-rzmq 0.9.0 and later. If your libzmq version >= 3.2.1, Make sure you have the ffi-rzmq gem >= 0.9.7(you can clone git://github.com/chuckremes/ffi-rzmq.git and build from source), otherwise you will get "Function 'zmq_ctx_set_monitor' not found" error message.
Now you're set! Follow the numbered examples in order, where there are no numbers, there is no order.
Many thanks to Chuck Remes, author of both ffi-rzmq and zmqmachine for providing the ruby community with these gems, and helping answer my questions. None of this, would have been possible without his efforts.