Introduction to network programming with ZeroMQ
ZeroMQ is a messaging and network communications library.
Why do I want to use ZeroMq? There are several reasons:
- By constructing our application from multiple processes that communicate via ZeroMQ, we gain the ability to make use of multi-CPU and multi-core devices (even when those processes run on a single machine.
- We can make use of a variety of devices, for example, desktop machines, laptop machines, single board and embedded computers (such as the Raspberry Pi), and set-top boxes.
- ZeroMQ has excellent support for Python and Node.js and a number of other languages, too, which means that I can write my code in one of my favorite languages.
An alternative -- Erlang is an interesting and powerful choice for constructing applications out of multiple communicating processes. And, if fact, Erlang is available on the Raspberry Pi under Raspian GNU/Linux.