Repolode
zeromq

zeromq/libzmq

ZeroMQのC++コアライブラリ。標準的なソケットを拡張し、非同期メッセージキュー、各種メッセージングパターン、複数のトランスポートを提供します。

スター
11,030
フォーク
2,494
未解決の Issue
396
最終コミット
7 日前

これは何?

libzmqはZeroMQのコアとなるC++エンジンです。軽量なメッセージングライブラリとして、標準的なソケットインターフェースを、専用のメッセージングミドルウェアで一般的な機能で拡張します。ソケットは非同期メッセージキュー、複数のメッセージングパターン、サブスクリプションによるメッセージフィルタリング、複数のトランスポートプロトコルへのアクセスを提供します。ZMTP 3.1ワイヤープロトコルを実装しています。

ライブラリの大部分はC++98で書かれており、一部の機能では任意でC++11を使用できます。autotoolsまたはCMakeでビルドできます。LinuxとmacOS向けのビルド済みパッケージが提供されており、ほかのシステムではvcpkgやHomebrewからインストールできます。プロジェクトのドキュメントには、Linux、Windows、macOS、Androidのほか、複数のBSDおよびUnix系OSを含む対応プラットフォームが記載されています。

キュー基盤を自前で構築せずに、request-reply、publish-subscribe、パイプライン型のメッセージングで分散プロセスを接続したい場合に、開発者はlibzmqを利用します。他の言語向けのバインディングも、このコアライブラリを基盤としています。

主な機能

  • 01標準的なソケットAPIを通じた非同期メッセージキュー
  • 02request-reply、publish-subscribe、パイプラインなど複数のメッセージングパターン
  • 03サブスクリプションによるメッセージフィルタリング
  • 04複数のトランスポートプロトコルへのアクセス
  • 05ZMTP 3.1ワイヤープロトコルの実装
  • 06autotoolsまたはCMakeによるビルド

ユースケース

  • プロセス間の非同期メッセージングによる分散サービスの接続
  • ネットワークで接続されたコンポーネント間のpublish-subscribe型データフィードの構築
  • ZeroMQを利用する言語バインディングのネイティブ基盤としての利用

クイックスタート

  1. 1

    Homebrew を使って macOS にインストールする

    brew install zeromq
  2. 2

    vcpkg リポジトリをクローンする

    git clone https://github.com/microsoft/vcpkg.git
  3. 3

    vcpkg をブートストラップする(bash)

    ./bootstrap-vcpkg.sh
  4. 4

    vcpkg で zeromq をインストールする

    ./vcpkg install zeromq

使う前に知っておきたいこと

  • ビルド済みバイナリパッケージは Linux と macOS 用のみ提供されています。それ以外のプラットフォームでは、ソースからビルドする必要があります。
  • DRAFT API は予告なくいつでも変更される可能性があるため、使用を避けるには STABLE ビルドを使用してください。

収録されている特集

トピック

よくある質問

libzmq とは?
ZeroMQのC++コアライブラリ。標準的なソケットを拡張し、非同期メッセージキュー、各種メッセージングパターン、複数のトランスポートを提供します。 libzmqはZeroMQのコアとなるC++エンジンです。軽量なメッセージングライブラリとして、標準的なソケットインターフェースを、専用のメッセージングミドルウェアで一般的な機能で拡張します。ソケットは非同期メッセージキュー、複数のメッセージングパターン、サブスクリプションによるメッセージフィルタリング、複数のトランスポートプロトコルへのアクセスを提供します。ZMTP 3.1ワイヤープロトコルを実装しています。
libzmq は無料で使えますか?ライセンスは?
libzmq は MPL-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
libzmq は今もメンテナンスされていますか?
活発にメンテナンス中。libzmq の最終コミットは 2026年10月18日 です。
libzmq は何に使えますか?
プロセス間の非同期メッセージングによる分散サービスの接続 ネットワークで接続されたコンポーネント間のpublish-subscribe型データフィードの構築 ZeroMQを利用する言語バインディングのネイティブ基盤としての利用
libzmq のインストール方法は?
Homebrew を使って macOS にインストールする: brew install zeromq vcpkg リポジトリをクローンする: git clone https://github.com/microsoft/vcpkg.git vcpkg をブートストラップする(bash): ./bootstrap-vcpkg.sh vcpkg で zeromq をインストールする: ./vcpkg install zeromq
libzmq はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/zeromq/libzmq

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト