Skip to content

Edge Mesh Architecture: Coordinating Without Servers

CF Messenger pushes the entire application into Cloudflare’s edge. Instead of a central server, hundreds of small compute units—one per location—coordinate seamlessly.

  • Global Low-Latency Entry: Workers in 300+ cities handle incoming connections
  • Distributed State: Session validation and presence tracking via SESSION_KV and Durable Objects
  • Peer Routing: WebSocket connections route messages across the mesh without external signalling layers
  • Strong Consistency: Durable Objects guarantee atomic operations for critical tasks

[!NOTE] Unlike traditional architectures that route all traffic through a central region, the Edge Mesh executes code where users are located. A user in Tokyo connects to compute in Tokyo.


The following sequence diagram illustrates the lifecycle of a secure, real-time message within the mesh:

sequenceDiagram
    participant Browser
    participant Turnstile as Cloudflare Turnstile
    participant Edge as Cloudflare Worker
    participant Auth as SESSION_KV
    participant Chat as ChatRoom (Durable Object)
    participant Presence as PresenceRoom (Durable Object)
    participant Bot as Bot Orchestrator
    participant AI as Workers AI

    Note over Browser,Edge: Login Phase
    Browser->>Edge: POST /api/auth/login + Turnstile Token
    Edge->>Turnstile: siteverify (Server-Side Validation)
    Turnstile-->>Edge: success
    Edge->>Auth: Store Session (20m TTL)
    Edge-->>Browser: Session Token

    Note over Browser,Chat: Real-time Message Flow
    Browser->>Edge: WebSocket Connect (Session Token)
    Edge->>Auth: Validate Token
    Auth-->>Edge: Identity confirmed
    Edge->>Presence: Update global heartbeat
    Edge->>Chat: Route message to room
    activate Chat
    Chat->>Chat: Schema + rate checks
    Chat->>Chat: Append to buffer (latest 100)
    Chat-->>Browser: Broadcast `chat` packet
    Note over Chat,Bot: @bot mention detected
    Chat->>Bot: Quota Check (Neurons / KV)
    Bot->>AI: Llama 3.2 1B Inference
    Bot-->>Chat: Character-accurate response
    Chat-->>Browser: Broadcast bot reply
    deactivate Chat

Note: reconnection flows, hibernation wake-ups, and private room invitation workflows are omitted for clarity.