Websockets与HTTP Rest实时应用

时间:2017-02-23 17:16:13

标签: java rest websocket java-websocket

我正在开发实时Java应用程序的后端,使用Hibernate进行数据建模,我想提供一个API来提供客户端,可以是一个网页,移动应用程序甚至桌面应用。 服务器偶尔由RTU更新,可能每隔几分钟只更新一次或两次,但我希望服务器通知客户每次实时更改。 所以我对websockets做了一些研究,似乎对它的使用有一些争议。由于我的应用程序不会有大量从服务器到客户端的非请求流量,我不知道使用websockets是否是最佳解决方案。但另一方面,如果我使用REST服务,我将需要一些解决方法来确保客户端接收服务器中产生的每个更改。 在这种情况下,我可以面对使用websockets开发此应用程序的问题?它们是最好的方法吗?

编辑:websocket vs rest API for real time data?帖子与我之间的区别是从服务器到客户端的未请求流量的比率将是最小的,因为两次服务器更新之间可能会经过几分钟。据我所知,对于需要不断更新服务器的应用程序来说,websockets是一个很好的选择,如在线游戏,但在我的情况下,我不知道使用它的缺点是否会超过专业人士。这个article让我怀疑在我的应用程序中使用websockets的适用性

1 个答案:

答案 0 :(得分:5)

没有一个正确的答案,但需要考虑几点:

  • WebSocket现在是一项成熟的技术,支持所有现代浏览器和库,适用于任何编程语言。
  • 使用WebSocket,您可以获得持久连接,允许您立即发送更新 - 这正是您想要做的。使用REST API,您需要一些解决方法(例如长轮询) - 因此技术虽然可以完成,但并不适合您的用例。