node.js - 我应该使用 REST API 还是 Socket.io 作为地理定位应用程序?

标签 node.js rest sockets websocket socket.io

我需要跟踪移动的汽车。

我是否应该在每次位置更改时发布位置,并通过套接字发送它?

或者应该创建一个 REST API 并发布位置(从被跟踪的设备)并每 10 秒检查一次(使用跟踪设备),无论位置是否发生变化?

(该应用程序是使用 React Native 制作的)

最佳答案

通过频繁更新构建 HTTP 请求比通过 websocket 发送消息需要更多资源。与使用 HTTP 相比,保持 Websocket 连接被许多用户打开需要更多的资源。在我看来,答案取决于用户数量、更新频率、是否应用 REST 约束(无服务器端 session )以及您使用的 HTTP 版本(据我所知,HTTP2 比 HTTP1.1 更高效)。我认为如果没有测量,我们无法告诉您这一点。

如果要将数据从服务器推送到客户端也是如此。如果您经常这样做并且更新必须几乎立即进行,那么 websocket 可能是比轮询更好的选择。如果您很少这样做并且延迟(轮询频率)可能是几分钟,那么轮询可能会更好。

请注意,我不是负载扩展方面的专家,这只是外行人的逻辑。

关于node.js - 我应该使用 REST API 还是 Socket.io 作为地理定位应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34714112/

相关文章:

javascript - mongodb isValid 函数对于无效的 ObjectID 返回 true

JavaScript super.constructor() 抛出 "must call before accessing this"异常

rest - 散列已知纯文本的危险

java - 如何计算下载的文件大小和下载的总数据量

java - 套接字连接问题

node.js - 将数据发布到数据库后如何重定向到另一个页面?

javascript - 我可以在 lodash 中过滤 countBy 吗?

ios - 从 Swift 函数中的异步调用返回数据

python - 带有 web.py 的 Restful API

c - gethostbyaddr : Success 上出现错误