laravel/reverb
Laravel Reverb adds real-time WebSocket support to Laravel applications, enabling event broadcasting and live updates via a first-party server. Designed to integrate with Laravel’s broadcasting features for fast, reliable real-time communication.
Adopt if:
Look elsewhere if:
For Executives: "Laravel Reverb lets us replace Pusher/Ably with a self-hosted, cost-effective WebSocket backend—cutting cloud fees by ~$X/year while maintaining scalability. It’s battle-tested (used by Laravel’s own ecosystem), supports real-time features like chat and live updates, and integrates seamlessly with our existing Laravel stack. Risk is low: it’s MIT-licensed, actively maintained, and reduces vendor lock-in."
For Engineering: *"Reverb gives us a drop-in replacement for Pusher with Laravel’s broadcasting system. Key benefits:
reverb:reload), rate limiting, and Pusher-compatible API.
Tradeoff: Requires Redis, but we already use it for caching/sessions. Migration is straightforward if we’re using Laravel Echo."*For Developers:
*"Reverb lets you use Laravel’s broadcast() methods with WebSockets—no need to learn raw WebSocket libraries. Example:
// Broadcast to a channel
Broadcast::channel('chat.{room}', function ($user, $room) {
return ['id' => $user->id];
})->to($room);
// Send a message
Broadcast::to('chat.123')->send(new ChatMessageEvent('Hello!'));
It handles:
reverb:reload to restart the server without downtime."*How can I help you explore Laravel packages today?