[Laravel] Laravel WebSocketsパッケージがリリースされました
Laravel用にPHPで実装されたWebSocketサーバーLaravel WebSocketsがリリースされました。
システム上でWebSocketサーバーを利用するためには、代表的なNode.js
をはじめ様々なライブラリやサーバーを構築する必要があります。
今回リリースされたLaravel WebSocketsはWebSocketサーバーとして必要な機能が全て実装されているので、これ一つで高性能なWebSocketサーバーを起動することができます。
作者はLaravelの有名なパッケージを多数開発しているBeyond CodeとSpatieのエンジニアによって作成されました。
サードパーティーのパッケージではありますが、Laravel SocialiteやLaravel Horizonといったオフィシャルパッケージと同様の扱いがされるでしょう。
Laravel WebSocketsの内容
Laravel WebSocketsはWebSocketを処理するための低レベルのパッケージであるRatchetを基盤として実装されています。
冒頭でも説明しましたが、Laravel WebSocketsをComposer
でインストールするだけで、他のライブラリや構築などは一切必要ありません。
PHPのみで動作し、artisan
コマンドで即座にWebSocketサーバーが起動します。
php artisan websockets:serve
また、専用の管理画面も内包されており、ダッシュボード上でリアルタイムな情報が確認できます。
チャートにはピーク時の接続数、送信されたメッセージ数、受信されたAPIメッセージ数など、WebSocketアプリケーションのメトリックの重要な情報を提供するリアルタイムチャートが搭載されています。
内部にはPusherのMessage ProtooclのMessage Protooclも実装済みであり、Pusherをサポートする既存のパッケージやアプリケーションは全てLaravel WebSockets上で動作します。
Laravelで用意されているLaravel Echoやその他WebSocketを利用するJavaScriptのライブラリとも互換性があります。
Private Channel、Presence Channel、APIでの接続などPusherが提供する全ての機能が利用可能です。
動画
サンプルや実装例
こちらからデモアプリケーションを確認できることに加え、ドキュメントサイトにも組み込まれています。
また、サーバー監視サービスのOh Dear!ではすでに本番環境でLaravel WebSocketsを利用中とのことです。