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.