Skip to content

Documentation / @super-line/adapter-zeromq

@super-line/adapter-zeromq

ZeroMQ adapter for super-line — fan out rooms, topics, and the cluster event bus (server.publish / server.subscribe) across multiple server processes, broker-free.

bash
pnpm add @super-line/adapter-zeromq
ts
import { createSuperLineServer } from '@super-line/server'
import { webSocketServerTransport } from '@super-line/transport-websocket'
import { createZeroMqAdapter } from '@super-line/adapter-zeromq'
import { api } from './contract'

const srv = createSuperLineServer(api, {
  transports: [webSocketServerTransport({ server })],
  authenticate,
  adapter: await createZeroMqAdapter({
    bind: 'tcp://0.0.0.0:5555',
    peers: ['tcp://node-b:5555', 'tcp://node-c:5555'],
  }),
})

Each node binds a PUB socket and connects to its peers — a brokerless mesh, no central server to run. Without an adapter, a single node uses the built-in in-memory adapter — add this only when you scale out. At-most-once delivery; zeromq is a native addon. For a large fan-out you can run the bundled forwarder proxy instead of a full mesh:

bash
super-line-zeromq-proxy --xsub tcp://0.0.0.0:5555 --xpub tcp://0.0.0.0:5556

MIT © Mert

Interfaces

Type Aliases

Functions

Released under the MIT License.