01 · SubscribeThe browser asks to listenEcho joins a private channel. It calls /broadcasting/auth, and a callback in routes/channels.php says yes or no.
Echo.private(`orders.${id}`)
02 · DispatchSomething happensThe application fires an event that implements ShouldBroadcast and names its channel in broadcastOn().
OrderShipped::dispatch($order)
03 · QueueA job is queuedThe framework queues a broadcast job on the default queue. ShouldBroadcastNow skips the queue.
implements ShouldBroadcast
04 · SendA worker hands it overA queue worker sends the payload to the broadcaster's HTTP API. On Cloud, the REVERB_* variables are injected for you.
BROADCAST_CONNECTION=reverb
05 · Fan outReverb delivers itReverb pushes the message to every socket on that channel. Across several servers it relays through Redis pub/sub; on Cloud that is the cluster's job.
private-orders.42
06 · ListenThe page updatesThe Echo listener fires. In Livewire, an attribute does the same, and the component re-renders.
#[On('echo-private:orders.{order.id},OrderShipped')]