ZeroMQ
ZMQAdvancedA lightweight, open-source messaging library that lets programs exchange data in just a few lines.
ZeroMQ is an open-source asynchronous messaging library started by Pieter Hintjens, Martin Sustrik, and others at the company iMatix; its core is libzmq, written in C++, with pyzmq as the Python binding. It needs no separate message broker, and packages common communication patterns into a handful of socket types: request-reply (REQ/REP), publish-subscribe (PUB/SUB), push-pull (PUSH/PULL), and others, usable across processes or across machines. In embodied AI it's commonly used to build a lightweight policy server: a GPU machine runs the model, and the robot sends over observations and gets back actions, without pulling in the whole ROS stack. It only handles moving bytes around — the data format itself still needs a serialization scheme such as msgpack or Protobuf.
ExampleThe robot side uses a REQ socket to send camera images and joint state to a remote GPU server, which uses a REP socket to return a chunk of actions.
- Also called
- ØMQ, 0MQ, ZMQ
- Related
- Policy Server (Remote Inference) · Publish-Subscribe · gRPC Remote Procedure Calls · Lightweight Communications and Marshalling (LCM) · Protocol Buffers · Middleware
- Sources
- ZeroMQ 官网 (Chinese)
ZeroMQ Guide (zguide)
ZeroMQ - Wikipedia