ZeroMQ 速查
共 23 条 ZeroMQ 常用模式,涵盖核心概念、通信模式、Python 示例、常用设置、适用场景。 支持搜索与分类筛选,点击即可复制。
核心概念
无 broker 的消息库。
| 命令 | 说明 |
|---|---|
| 定位 | |
| 模式即类型 | |
| 消息语义 | |
| 注意 | |
| 连接关系 |
通信模式
经典组合。
| 命令 | 说明 |
|---|---|
| 请求-应答(同步) | |
| 发布订阅(一对多,可过滤前缀) | |
| 管道(负载分散) | |
| 异步请求应答(可扩展/代理) | |
| 一对一独占连接 |
Python(pyzmq)示例
踩坑最少。
| 命令 | 说明 |
|---|---|
| 安装 | |
| 服务端(REP) | |
| 客户端(REQ) | |
| 发布订阅 | |
| 多帧消息 |
常用设置
超时与轮询。
| 命令 | 说明 |
|---|---|
| 收发超时(毫秒) | |
| 关闭时不等待未发送消息 | |
| 多 socket 轮询 | |
| 高水位(背压) |
适用场景
何时选 ZeroMQ。
| 命令 | 说明 |
|---|---|
| 场景 | |
| 对比 | |
| 代理 | |
| 多语言 |
使用说明
ZeroMQ 消息模式速查:核心概念、通信模式、Python 示例、常用设置、适用场景;支持搜索与分类筛选,点击即可复制。
- 按用途点分类:核心概念、通信模式、Python 示例、常用设置、适用场景。
- 点「模式 / 代码」列复制,替换地址与消息内容后使用。
- 先想清楚模式:请求应答 REQ/REP、发布订阅 PUB/SUB、管道 PUSH/PULL。
- SUB 端必须 SUBSCRIBE 主题(可空前缀接收全部),否则收不到消息。
常见问题
- ZeroMQ 有 broker 吗?
- 没有。它是嵌入式的消息库,socket 直连,延迟极低,但也因此无内置持久化与消息堆积保证,需要可靠性时应选 Kafka/RabbitMQ/NATS。
- 为什么 SUB 收不到消息?
- 最常见原因是没设置订阅过滤器:sub.setsockopt(zmq.SUBSCRIBE, b"") 可接收全部;另外发布订阅有慢加入问题,晚连接的订阅者会漏掉之前的消息。
- bind 和 connect 谁先谁后?
- 任一方 bind 监听、另一方 connect 均可,谁先都可以,ZeroMQ 会在连接时对齐;惯例服务端 bind、客户端 connect。
延伸阅读
相关工具
MNUT
Micronaut 速查
mn create-app / @Controller / @Inject 速查
SNTR
Sinatra 速查
get '/' / params / erb / set 速查
SLIM
Slim 速查
$app->get / PSR-7 / middleware 速查
BSTRP
Bootstrap 5 速查
container/row/col / btn / form / data-bs 速查
BLMA
Bulma 速查
columns/column / button / field / is-* 速查
MUI
MUI 速查
Box sx / Grid / TextField / createTheme 速查