ZeroMQ (also known as ØMQ, 0MQ, or zmq) looks like an embeddable networking library but acts like a concurrency framework. It gives you sockets that carry atomic messages across various transports like in-process, inter-process, TCP, and multicast. You can connect sockets N-to-N with patterns like fan-out, pub-sub, task distribution, and request-reply. It's fast enough to be the fabric for clustered products. Its asynchronous I/O model gives you scalable multicore applications, built as asynchronous message-processing tasks. It has a score of language APIs and runs on most operating systems.
This month, Richard Thomson will give us an introduction to ZeroMQ. We'll look briefly at the low-level library libzmq before switching to the higher level C++ library zmqpp. We'll adapt a simple database for comic book issues into a CRUD server that responds to zmq messages.
ZeroMQ: https://zeromq.org/
Future topics: https://utahcpp.wordpress.com/future-...
Past topics: https://utahcpp.wordpress.com/past-me...