2017-02-23 5 views
3

リアルタイムJavaアプリケーションのバックエンドを開発しています。データモデリング用にHibernateを使用しています。クライアント側にフィードするためのAPIを提供したいと思っています。ウェブページ、モバイルアプリ、さらにはデスクトップアプリケーションでも使用できます。 サーバはRTUによって数分に1回更新されます。数分ごとに1回または2回更新されるかもしれませんが、リアルタイムで生成されたすべての変更をクライアントに通知する必要があります。 ウェブソケットについていくつかの調査をしましたが、その使用についていくつかの論争があるようです。私のアプリケーションはサーバからクライアントへの要求されないトラフィックが大量にないので、ウェブソケットの使用が最善の解決策であるかどうかはわかりません。しかし、一方で、RESTサービスを使用する場合は、クライアントがサーバーで行われたすべての変更を確実に受け取れるように、回避策が必要になります。 この場合、Webアプリケーションを使用してこのアプリケーションを開発する際、どのような問題に直面することができますか?彼らは最善のアプローチですか?WebsocketとHTTPの残りのリアルタイムアプリケーション用

編集:websocket vs rest API for real time data?とサーバーとの間の要求されていないトラフィックの割合の違いは、2つのサーバーの更新の間に数分かかる可能性があるため、最小限に抑えられます。私の知る限り、WebSocketは、オンラインゲームのように、サーバーからの絶え間のない更新が必要なアプリケーションにとっては良い選択ですが、私の場合は、それを使用することの問題がプロを上回るかどうかわかりません。このarticleは私が自分のアプリケーションでのWebSocketを使用しての適合性について疑問作ら

+1

の可能性のある重複した[リアルタイムデータのためのREST API VSのWebSocket?](http://stackoverflow.com/questions/28613399/websocket-vs-rest-api-for-real-time-data) – jfriend00

+0

おそらく[Ajax vs Socket.io]の複製(http://stackoverflow.com/questions/30319618/ajax-vs-socket-io/30334848#30334848) – jfriend00

答えて

4

あり誰も正解はありませんが、いくつかのポイントを考慮すること:

  • のWebSocketはすべてでサポートし、今では成熟した技術であります現代のブラウザーとあらゆるプログラミング言語用のライブラリー。
  • WebSocketを使用すると、永続的な接続が可能になり、すぐに更新を送信できるようになります。 REST APIを使用すると、長いポーリングなどの回避策が必要になります。そのため、テクノロジは実行可能ですが、ユースケースには適していません。また
関連する問題