💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
[TOC] > [官网](https://zeromq.org/) ## 概述 ZMQ **不需要专门启动 ZMQ 的服务,直接绑定到对应语言上**, ZeroMQ的API是对网络插口socket的封装 * ZMQ(ØMQ、ZeroMQ, 0MQ)看起来像是一套嵌入式的网络链接库,但工作起来更像是一个并发式的框架。 * 它提供的套接字可以在多种协议中传输消息,如线程间、进程间、TCP、广播等。 * 你可以使用套接字构建多对多的连接模式,如扇出、发布-订阅、任务分发、请求-应答等。 * ZMQ的快速足以胜任集群应用产品。它的异步I/O机制让你能够构建多核应用程序,完成异步消息处理任务。 * 跨平台 * 支持的语言:C,C++,C#,Java,Python,Ruby,Rust,Dart,Go,NodeJS,,Perl,F#,Haskell,Erlang,Zig ### ZeroMQ 的核心概念 1. **套接字类型**:ZeroMQ 提供了多种套接字类型,每种类型适用于不同的通信模式: * **REQ/REP**(请求/响应):用于请求/响应模式。 * **PUB/SUB**(发布/订阅):用于广播消息到多个订阅者。 * **PUSH/PULL**(推/拉):用于任务分发模式。 * **PAIR**(对):用于点对点通信。 2. **消息模式**: * **同步消息**:如 REQ/REP。 * **异步消息**:如 PUB/SUB、PUSH/PULL。 3. **通信模式**: * **点对点**:PAIR * **请求-应答**:REQ/REP * **发布-订阅**:PUB/SUB * **任务分发**:PUSH/PULL ## 安装 ### OSX `brew install zmq ` ### Windows-go zmq 官方提供两种方式 1. [goczmq](https://zeromq.org/languages/go/#goczmq) 2. [pebbe/zmq4 (推荐)](https://zeromq.org/languages/go/#pebbe-zmq4) #### zmq4安装 方式一:mingw64 1. 安装 **mingw64** `choco install mingw` 2. 安装 [**libzmq **](https://zeromq.org/download/#windows) 根据自身系统选择libzmq,如我是win-64位选择[Visual Studio 14 2015 x64](https://dl.bintray.com/zeromq/generic/libzmq-v140-x64-4_3_2.zip) 3. `libzmq-v140-x64-4_3_2\libzmq-v140-mt-4_3_2.dll`重命名为 `libzmq.a` 4. 把`libzmq.a`移动到`mingw64\x86_64-w64-mingw32\lib`下 5. 如果报 `zmq.h`找不到 放置到mingw64的`include` 下,或者加入 `path`下 方式二:TDM-GCC 设置环境变量 ``` set C_INCLUDE_PATH=d:\DevTools\Zmq\ZeroMQ 3.2.4\include set LIBRARY_PATH=d:\DevTools\Zmq\ZeroMQ 3.2.4\lib;d:\DevTools\Zmq\ZeroMQ 3.2.4\bin set PATH=d:\DevTools\TDM-GCC\x64\bin;%PATH% ``` 重命名 `libzmq-v120-mt-3_2_4.dll` 为 `zmq.lib ` 由于依赖动态库,所以 如果使用go ,需要使用交叉编译