ZeroMQ Eliminated the Broker. Routing Authority Still Lives in Application Code.
by Nick Clark | Published March 28, 2026
ZeroMQ provided high-performance, brokerless messaging by embedding routing patterns directly into socket abstractions: pub-sub, push-pull, request-reply, and dealer-router patterns that operate without a central broker. The architectural insight was that routing patterns can be socket properties rather than broker features. But ZeroMQ eliminated the broker without embedding semantic authority in the protocol. Routing is pattern-based, determined by socket type and connection topology. Trust scope and governance authority remain in application code. The gap is between brokerless routing patterns and protocol semantics where authority is intrinsic to the content.
ZeroMQ's socket abstraction model and pattern-based routing influenced an entire generation of messaging libraries. The engineering is elegant. The gap described here is about protocol semantics, not about messaging pattern design.
Pattern-based routing without semantic routing
ZeroMQ routes messages based on socket patterns. A PUB socket broadcasts to all connected SUB sockets. A PUSH socket load-balances across connected PULL sockets. A ROUTER socket uses identity frames for addressed routing. The routing logic is determined by the socket topology, not by the content of the message.
A message sent through a ZeroMQ PUB socket is broadcast regardless of its content, trust level, or governance requirements. The protocol does not inspect what it is carrying. It routes based on the pattern. Different messages with different trust requirements are routed identically.
No trust semantics in the wire protocol
ZeroMQ's wire protocol (ZMTP) defines framing, greeting, and security mechanisms (NULL, PLAIN, CURVE). CURVE provides encryption and authentication between peers. But trust is a connection property, not a message property. All messages on an authenticated connection receive the same trust treatment.
A high-trust governance command and a low-trust telemetry reading on the same connection are treated identically by the protocol. The application must distinguish between them and apply appropriate trust evaluation. The protocol provides no semantic support.
What memory-native protocol semantics provide
A memory-native protocol would embed trust scope and governance authority in each message as protocol-level fields. Routing would consider the content's semantic properties alongside the topology. A high-trust governance command would route differently from a low-trust telemetry reading, not because the application implements different routing logic, but because the protocol routes based on the content's intrinsic authority.
ZeroMQ's brokerless pattern model demonstrated that centralized brokers are not necessary for flexible routing. Memory-native protocol semantics would extend this insight: if routing patterns can be embedded in sockets, governance authority can be embedded in content.
The remaining gap
ZeroMQ proved that messaging patterns can be embedded in the protocol rather than in a broker. The remaining gap is in extending that principle: embedding trust scope and governance authority in the content itself rather than in application code.