Pieter Hintjens, one of pioneers of the distributed computing and author of ZeroMQ library explains the basic premise behind ZeroMQ design and community. He covers fundamentals of designing large distributed applications using ZeroMQ library.
First and foremost, the book is meant for intermediate to advanced programmers. You need to be aware of the networking concepts. All examples are in C, so you should have good enough grounding in the language. Once you are past these, understanding the concepts in the book is fairly easy.
First part of the book is about Learning to work with ZeroMQ. This section covers all the patterns – Request-Reply, Dealer-Router, Pub-Sub, Proxy, Load Balancing and their combination and usage with each other. The example scenarios detail the scenario’s where these patterns fit in. This section also covers how to build reliability and availability as part of the distributed application.