Repolode
zeromq

zeromq/libzmq

ZeroMQ 的 C++ 核心库,在标准套接字之上提供异步消息队列、多种消息模式和多种传输协议。

Star
11,030
Fork
2,494
未关闭 Issue
396
最近提交
7天前

这是什么?

libzmq 是 ZeroMQ 的 C++ 核心引擎,这是一个轻量级消息库,在标准套接字接口上扩展了通常由专用消息中间件提供的功能。套接字提供异步消息队列、多种消息模式、基于订阅的消息过滤,以及对多种传输协议的访问,实现了 ZMTP 3.1 协议。

该库主要使用 C++98 编写,并包含部分可选的 C++11 代码,可通过 autotools 或 CMake 构建。Linux 和 macOS 提供预编译包,其他系统可通过 vcpkg 安装。项目文档列出了支持的平台,涵盖 Linux、Windows、macOS、Android 以及多种 BSD 和 Unix 系统。

当开发者需要让分布式进程之间进行请求-应答、发布-订阅或管道式消息通信,而不想自己搭建队列基础设施时,可以使用 libzmq。其他语言的绑定也基于这一核心库实现。

核心功能

  • 01在类标准套接字 API 背后提供异步消息队列
  • 02支持请求-应答、发布-订阅、管道等多种消息模式
  • 03通过订阅实现消息过滤
  • 04支持访问多种传输协议
  • 05实现 ZMTP 3.1 线路协议
  • 06可使用 autotools 或 CMake 构建

适用场景

  • 在分布式服务和进程之间进行异步消息通信
  • 在网络化组件之间构建发布-订阅式数据分发
  • 作为 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 接口可能随时无预警变更,因此请使用 STABLE 版本以避免这些接口。

收录于专题

标签

常见问题

libzmq 是什么?
ZeroMQ 的 C++ 核心库,在标准套接字之上提供异步消息队列、多种消息模式和多种传输协议。 libzmq 是 ZeroMQ 的 C++ 核心引擎,这是一个轻量级消息库,在标准套接字接口上扩展了通常由专用消息中间件提供的功能。套接字提供异步消息队列、多种消息模式、基于订阅的消息过滤,以及对多种传输协议的访问,实现了 ZMTP 3.1 协议。
libzmq 可以免费使用吗?用的什么许可证?
libzmq 以 MPL-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
libzmq 还在维护吗?
活跃维护中。libzmq 最近一次提交是在 2026年10月18日。
libzmq 适合用来做什么?
在分布式服务和进程之间进行异步消息通信 在网络化组件之间构建发布-订阅式数据分发 作为 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

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目