PR:この記事にはアフィリエイトリンクが含まれます。
ZeroMQのおすすめ本を探すと、C++やPythonの実装例まで一冊で学びたくなりますよね。ただ専用書はCの例が中心です。ZeroMQの仕組みと各言語の並行処理を分けて学ぶと、内容を整理しやすくなります。
ZeroMQはアプリケーション同士をメッセージでつなぐライブラリです。要求と応答、イベント配信、仕事の分配でソケットの振る舞いは変わります。API名とパターンの意味を合わせて読むと、実務で使う場面を考えやすくなります。
ここでは専用書を軸に、C++17のスレッドやPythonのasyncio、システム統合の設計書を紹介します。刊行年と内容をたどり、それぞれが実務で役立つ場面も説明します。
4冊を俯瞰
| 書籍 | 得意分野 | 仕様・刊行 | 参考価格 |
|---|---|---|---|
ZeroMQ: Messaging for Many Applications | ZeroMQのAPIとパターン | 2013年・Paperback・513ページ | 販売店の表示価格 |
C++ Concurrency in Action, Second Edition | C++の並行処理 | 2019年・第2版・C++17・592ページ | 79.99米ドル(公式希望小売価格) |
Python Concurrency with asyncio | asyncioとPythonの並行処理 | 2022年・Paperback・376ページ | 59.99米ドル(公式希望小売価格) |
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions | メッセージ設計と運用 | 2003年初版・Hardcover・736ページ | 69.99米ドル(公式希望小売価格) |
P2〜P4の金額は公式希望小売価格です。実売は販売店や時期で変わります。輸入書は為替や送料も価格に影響するので、購入時の表示を確認してください。
4冊は扱う領域がそれぞれ異なります。ZeroMQの通信パターンを解説する本が1冊、C++とPythonの並行処理の本が2冊、システム連携の設計書が1冊。役割を整理すると、組み合わせが見えてきます。
ZeroMQの通信パターンは専用書で学べます。C++やPythonの処理モデル、システム設計は各分野の本で補えます。課題に合わせて組み合わせられる顔ぶれです。
ZeroMQの本命
ZeroMQ: Messaging for Many ApplicationsはPieter Hintjens著、O’Reilly Media刊の英語Paperbackです。2013年4月刊で513ページ。対象読者は中級から上級です。
REQ-REPの要求応答やPUB-SUBの購読配信、パイプラインによる処理分配を例に、ソケットのAPIとメッセージの流れを解説します。
信頼性を高めたメッセージングとマルチスレッドアプリケーションも扱っています。コード例はCが中心です。C++固有の型やPythonのasyncioコードは、各言語の資料で補ってください。
刊行は2013年。パターンの考え方を本で学び、利用中のZeroMQ実装のオプション名やバインディングの使い方は公式資料で確かめると安心です。
C++の並行処理
C++ Concurrency in Action, Second EditionはAnthony Williams著で、Manning Publications刊の第2版です。2019年2月刊、592ページでC++17に対応します。
公式希望小売価格は79.99米ドルで、実売価格は時期や店舗によって変わります。
スレッドの開始や管理から同期、並行アルゴリズムとデータ構造、デバッグまでを扱います。各章に実例と実践課題があり、ZeroMQでworkerへ仕事を渡した後に共有状態を扱う場面にも応用できます。
対象は中級のCまたはC++開発者で、並行処理の経験は必須ではありません。ZeroMQのAPIやメッセージパターンを解説する本ではないため、通信の学習には専用資料を併用します。
Pythonの非同期
Python Concurrency with asyncioはMatthew Fowler著、Manning Publications刊です。2022年2月刊のPaperbackで376ページ。読者はPython中級者です。
公式希望小売価格は59.99米ドルで、実売は時期や販売店によって変わります。asyncとawaitやコルーチン、タスクに加え、スレッドとプロセスとの併用も扱います。
aiohttpのWeb APIや並行リクエストをはじめ、SQLクエリとMapReduceの例もあります。Python内の非同期処理や複数の処理方式を具体例から学べます。
ZeroMQのソケットパターンや再接続は本書の主題ではありません。イベントループを止めずに通信し、入出力待ちとCPU処理を分ける考え方を学べます。PyZMQと組み合わせる際は、採用バージョンのAPI資料で呼び出し方を確認してください。
設計を広げる
Enterprise Integration PatternsはGregor HohpeとBobby Woolf著、Addison-Wesley Professional刊の第1版です。2003年初版で736ページのHardcover。
公式希望小売価格は69.99米ドルです。実売は時期や販売店によって変わります。
本書は65種類のパターンを扱います。メッセージの構成やチャネルから、ルーティングと変換、エンドポイントやシステム管理までを整理しています。
JMSやMSMQなどを使う実装例が中心です。ZeroMQやC++・Pythonの実装法を学ぶ場合は、各技術の資料も併用してください。2003年初版なので、設計用語やパターンの理解に重点を置いて読むとよいでしょう。
債券取引システムのケーススタディも収録されています。システム管理のパターンも扱うため、既存の連携で監視や運用を整理したい読者におすすめです。

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
Addison-Wesley Professional
Amazonで見る結論
ZeroMQのパターンを学ぶなら、専用書のZeroMQ: Messaging for Many Applicationsがおすすめです。Cの例は英語で書かれているため、C++やPythonでは各言語の資料も確認してください。
C++の同期やスレッド管理にはC++ Concurrency in Action、PythonのasyncioにはPython Concurrency with asyncioが役立ちます。通信と各言語の処理モデルを合わせて学べます。
メッセージの経路や運用設計まで考えるなら、Enterprise Integration Patternsもおすすめです。配信保証や障害時の動作は、要件に沿って設計してください。
Amazon の PC をスコア化してみた
Amazonにある8〜14インチの小型WindowsタブレットやノートPCを、スペック別にスコア化して比較・ランキング。




