[Laravel] Laravel WebSocketsパッケージがリリースされました

Laravel用にPHPで実装されたWebSocketサーバーLaravel WebSocketsがリリースされました。

システム上でWebSocketサーバーを利用するためには、代表的なNode.jsをはじめ様々なライブラリやサーバーを構築する必要があります。

今回リリースされたLaravel WebSocketsはWebSocketサーバーとして必要な機能が全て実装されているので、これ一つで高性能なWebSocketサーバーを起動することができます。

作者はLaravelの有名なパッケージを多数開発しているBeyond CodeSpatieのエンジニアによって作成されました。

サードパーティーのパッケージではありますが、Laravel SocialiteLaravel Horizonといったオフィシャルパッケージと同様の扱いがされるでしょう。

Laravel WebSocketsの内容

Laravel WebSocketsはWebSocketを処理するための低レベルのパッケージであるRatchetを基盤として実装されています。

冒頭でも説明しましたが、Laravel WebSocketsComposerでインストールするだけで、他のライブラリや構築などは一切必要ありません。

PHPのみで動作し、artisanコマンドで即座にWebSocketサーバーが起動します。

php artisan websockets:serve

また、専用の管理画面も内包されており、ダッシュボード上でリアルタイムな情報が確認できます。

laravel-websockets-package_01

チャートにはピーク時の接続数、送信されたメッセージ数、受信されたAPIメッセージ数など、WebSocketアプリケーションのメトリックの重要な情報を提供するリアルタイムチャートが搭載されています。

内部にはPusherMessage ProtooclのMessage Protooclも実装済みであり、Pusherをサポートする既存のパッケージやアプリケーションは全てLaravel WebSockets上で動作します。

Laravelで用意されているLaravel Echoやその他WebSocketを利用するJavaScriptのライブラリとも互換性があります。

Private Channel、Presence Channel、APIでの接続などPusherが提供する全ての機能が利用可能です。

動画

サンプルや実装例

こちらからデモアプリケーションを確認できることに加え、ドキュメントサイトにも組み込まれています。

laravel-websockets-package_02

また、サーバー監視サービスのOh Dear!ではすでに本番環境でLaravel WebSocketsを利用中とのことです。

© Xzxzyzyz