在没有 Pusher 或 Redis 的情况下使用 Laravel 个事件?

Using Laravel Events without Pusher nor Redis?

令我惊讶的是,我需要第三方服务(例如 Pusher 或 Redis)通过 WebSockets 从我的服务器到我的客户端进行双向通信。

Pusher 相对于 Redis 或 socker.io 服务器除了 nginx 有什么优势?我看到很多缺点:

据我了解,它们只是 Laravel 的两种可能解决方案:

还有第三种选择吗?

laravel 上有可用的推送服务器克隆,你检查过了吗?

https://beyondco.de/docs/laravel-websockets/getting-started/introduction

  • 您可以在局域网上使用它。
  • 这在某个端口上运行 php-socket 服务器 喜欢 5000
  • 只需使用 Laravel 用于移动应用程序的 Echo 或 Pusher SDK 和 将它连接到您的服务器上的 5000 端口。

You don't have to pay anyone, it runs clone of pusher server on your server.

使用第三方解决方案的好处因用例和因人而异。但是,从广义上讲,这里没有提到一些值得强调的好处:

  • 托管解决方案不需要您实施自己的基础设施来管理 websocket 连接。这意味着您无需担心基础架构的正常运行时间、安全性、配置或维护,这些都已为您完成。
  • 托管解决方案可无缝扩展。随着您的应用用户群和连接的增长,您不再需要配置更多基础设施和加载 balance/route 个连接。
  • Pusher 等托管解决方案有专门的支持团队在 implementation/troubleshooting 期间提供帮助。
  • 托管解决方案通常有全天候服务器监控,确保平台 24/7 全天候可用,无需您在凌晨响应服务器警报。

多年来关于构建与购买的讨论很多,并且有很多资源讨论两者的优点(事实上 Pusher has a resource for this)。最终这不是您可以做出的决定,您将需要评估您的应用程序需求,然后查看最适合您的用例。