Laravel Packages

AnyCable Laravel Broadcaster

Published
AnyCable Laravel Broadcaster image

AnyCable is a language-agnostic server for web applications that brings performance and reliability to your real-time application features. AnyCable initially started in the Rails ecosystem, but the team behind the project has now developed a broadcast adapter for Laravel.

The Laravel broadcaster allows you to use AnyCable as a drop-in replacement for Reverb, Pusher, or any other service supported by Laravel Echo. This means that no client-side changes are required to use AnyCable; you only need to update the server configuration and launch the AnyCable server.

According to the AnyCable team:

Think of it as a friendly handshake from the Rails ecosystem, returning the love after Inertia.js made its way from Laravel to Rails. Let’s keep building bridges!

Main Features

  • Reliability: With features like reliable streams and resumable sessions
  • Scalability and Performance: It is written in Go, giving your Laravel app a high-performance WebSocket server that takes the load off your core PHP processes
  • Open Source and Always Will Be: The core is free and open source; however, there is a commercial version with extra features if needed.

Now, the question that has been asked of the AnyCable team since the initial release is why someone would choose AnyCable over Reverb or Pusher, and their answer is simple:

"it is a battle-proofed real-time server that's been in production at scale for many years. It comes with an extensive feature set (reliability, various protocols support, observability tools, etc.), and it's free to use."

Installation

You can install the package via Composer:

composer require anycable/laravel-broadcaster

Next, configure the application to use the anycable broadcasting driver by adding the AnyCable service provider to the bootstrap/providers.php file:

<?php
 
return [
App\Providers\AppServiceProvider::class,
// ...
AnyCable\Laravel\Providers\AnyCableBroadcastServiceProvider::class,
];

Then, register the anycable driver in your config/broadcasting.php file:

'anycable' => [
'driver' => 'anycable',
],

Your client-side code remains the same as if you were setting up Reverb or Pusher.

Finally, start the anycable server:

php artisan anycable:server

Note: The command will automatically download the AnyCable binary (if necessary).

Note: this feature is in the preview phase at the time of writing, so it has a few limitations. However, the AnyCable team invites developers to test it and provide feedback.

The AnyCable team created a Demo Laravel application that demonstrates how to use AnyCable as a broadcasting and Echo backend.

Learn more about this package and view the source code on GitHub.

Yannick Lyn Fatt photo

Staff Writer at Laravel News and Full stack web developer.

Sponsored

acquaintsoft logo
Acquaint Softtech

Hire Laravel developers with AI expertise at $20/hr. Get started in 48 hours.

Visit Acquaint Softtech

The latest

View all →
PayZephyr: One Payment API for Stripe, Paystack, and PayPal image

PayZephyr: One Payment API for Stripe, Paystack, and PayPal

Read article
Bifrost Turns One With AI Builds and New Workflows image

Bifrost Turns One With AI Builds and New Workflows

Read article
Preview Blade Templates in macOS Finder with Quick Blade image

Preview Blade Templates in macOS Finder with Quick Blade

Read article
Artisan Debugging Commands in Laravel Telescope 5.24.0 image

Artisan Debugging Commands in Laravel Telescope 5.24.0

Read article
Queue totalSize() and JobInterrupted Event in Laravel 13.31 image

Queue totalSize() and JobInterrupted Event in Laravel 13.31

Read article
Find Unexpected Test Inputs with Fuzz for Pest image

Find Unexpected Test Inputs with Fuzz for Pest

Read article