Concepts

Concepts

Core concepts and architecture behind Erebus.

Concepts

Erebus runs on Cloudflare Durable Objects — single-threaded, stateful V8 isolates distributed across Cloudflare's network. Each channel maps to a Durable Object that owns its message ordering, subscriber state, and presence tracking. The TypeScript SDK connects to these objects over WebSockets and handles auth, reconnection, and delivery acknowledgments.

Core concepts

  • Channels — The core primitive. A channel is a Durable Object that routes messages between connected clients with guaranteed ULID ordering.

  • Topics and Patterns — How messages are routed within a channel. Clients subscribe to specific topics to filter what they receive.

  • Quality of Service — MQTT-inspired delivery guarantees. QoS 1 provides at-least-once delivery with publisher and subscriber acknowledgments.

  • Namespaces and Regions — How Durable Object namespaces map to regions and what that means for latency and consistency.

For presence tracking and message history APIs, see the SDK Reference:

  • Presence — Real-time join/leave events and online user tracking.
  • Message History — Cursor-based pagination for fetching past messages.