laravel用于实时应用有什么好处?

时间:2017-05-19 06:36:07

标签: laravel-5 redis socket.io pubnub pusher

我是新手使用实时应用程序,我搜索了许多与实时应用程序相关的文章,我看到很多选项,例如ReactJs与Socket.Io或VueJs与Pusher,以及许多其他工作与Laravel Echo和广播活动。我还看一下Laravel documentation,它指的是我可以使用Redis,Pusher或Socket.Io触发实时触发我的客户端页面。所以请任何人引导我完成这些,因为我说我是广播活动的新手。

3 个答案:

答案 0 :(得分:3)

您需要与客户端上运行的设备或Web应用程序进行实时通信。 实时通信要求可以 - 向所有连接的客户端广播 - 从服务器向客户端发送消息。 - 从客户端传递到另一个客户端的消息(例如聊天应用程序)

进行实时通信最有前途的方法之一是使用网络套接字。

但是使用Web套接字本身并不实用,因此有一些流行的库,例如socket.io和Redis。这些图书馆吸收了生产和开发过程中面临的许多困难。这些库甚至支持扩展。

但是维护一个自托管的实时解决方案,如Socket.io或Redis需要付出代价。通信的成功率不高可靠,您必须实施各种监控机制和故障转移流程。地理分布也不受支持。因此,解决所有提及问题的高可靠性实时系统的下一个选择是托管服务,例如推送器,pub-nub等。 我发现,对于Pubnub而言,各种地理位置的定价和支出都比推动器更好。 我相信这将为您提供一个概述,以便根据您的要求选择解决方案。

答案 1 :(得分:1)

由于您使用的是Laravel,如果您希望使用托管服务,Pusher是您的理想选择。 Laravel与Pusher紧密集成,而Pusher是Laravel正式支持的唯一托管服务,正如您在the Laravel broadcasting documentation中所看到的那样。此外,Pusher have many Laravel tutorials。 (完全披露:我为Pusher工作!)

答案 2 :(得分:1)

您有三种选择。无论是Ajax,WebSocket还是实时技术。

在ajax中,您需要使用setInterval()来检查每一秒。

setInvertal(function(){
   fetch_notifications();
}, 1000);

在websocket中。它是免费的,但它需要nodejs。检查一下。这是laravel 4,但您可以轻松更新到laravel 5. http://www.volkomenjuist.nl/blog/2013/10/20/laravel-4-and-nodejsredis-pubsub-realtime-notifications/

最后,使用实时网络技术。他们中的大多数都是免费的,如果你想升级你的帐户,由你决定。检查此列表。 https://www.leggetter.co.uk/real-time-web-technologies-guide/ Laravel建议使用推杆,它很好。对于我自己,我建议使用PubNub。它非常受欢迎且易于使用。检查一下。 https://www.pubnub.com/blog/2011-03-19-build-real-time-chat-10-lines-code/

Ably也很好。

古德勒克。