laravel中可扩展且高效的位置更新

时间:2017-09-06 22:10:41

标签: laravel google-maps database-performance pusher

对于基于laravel的交付服务应用程序,我希望让客户了解驱动程序的当前位置。为此,我的订单表中有一个lat和long列。驱动程序打开网站并将其html5地理位置发布到服务器上,比如30秒。该行将使用新位置进行更新,这就是问题所在。 是否会更有效率 - 每隔30秒从客户客户端收到一个Ajax请求,搜索所有当前订单,并将客户ID作为密钥,并检索当前位置以更新地图, 或者 - 创建一个带推送器的私人Chanel,从客户客户端订阅它并在驱动程序提交其位置后创建locationUpdated事件?

我的想法是使用推送器,这样我就不必为每个更新的位置进行两次查询(更新和检索),定期和可能同时为数百个用户。 我认为造成麻烦的缺点是服务器要维护的通道数量,以确保每个客户端都可以访问更新的信息。

不幸的是,我不知道什么会给服务器带来更多的努力。任何论证为什么两种解决方案中的任何一种都比另一种更好,或者甚至进一步改进都是受欢迎的。

0 个答案:

没有答案