Websockets vs HTTP Rest用于实时应用程序

Jua*_*uan 3 java rest websocket java-websocket

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

编辑:websocket与rest API之间的区别对于实时数据?post和mine它是从服务器到客户端的未请求流量的速率将是最小的,因为两个服务器更新之间可能会传递几分钟.据我所知,对于那些需要不断更新服务器的应用程序来说,websockets是一个很好的选择,如在线游戏,但在我的情况下,我不知道使用它的缺点是否会超过专业人士.这文章让我怀疑有关使用我的应用程序的WebSockets的适用性

gzo*_*ost 5

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

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