2017-11-17 3 views
-3

いつか私が解決しようとしている問題があります。多くの入力フィールドを持つページを持つWebアプリケーションがあるとします。このページにアクセスして前記入力にデータを入力する多くの同時ユーザーがいると仮定します。あるユーザーがフィールドを編集すると、その変更は他のすべてのユーザーインターフェイスに反映される必要があります。誰かが正しい方向やウェブリソースを教えて、これを行うことができますか?現在、Webアプリケーションをホストする2つのロードバランスされたTomcatノードがあり、データを保持する共通の動的オブジェクトを作成する考えがあります。どんな提案も役に立ちます。リアルタイムで更新される動的オブジェクトを設計する最適な方法は何ですか?

+0

「リアルタイム」は計算において特定の意味を持ちますが、これはそうではありません。標準的な用語を誤用しないでください。 – EJP

+0

EJPに感謝します。このシナリオの正しい用語は何ですか? – StO

答えて

0

あなたの質問はもっと建築的なものです。 GUI#1のアクションで2番目のGUIを自動的に更新する方法は?

アクションをあなたのtomcatインスタンスの1つに転送する方法は分かっているはずです。最初の問題は、このアクションをすべてのサーバーインスタンスにブロードキャストする方法です。あなたはそれをデータベースに書き込んで、すべてのインスタンスを定期的にポーリングすることができますが、それは設計が貧弱なことです。おそらくデータを保持する必要がありますが、すべてのインスタンスに更新について知らせる必要がある場合は、メッセージキュー(https://de.wikipedia.org/wiki/Java_Message_Service#JMS-Provider)を使用することをお勧めします。

問題の第2部は、アップデートをすべてのブラウザに戻す方法です。これを達成するためのかなりのフレームワークがあります。例:https://en.wikipedia.org/wiki/Comet_(programming)。 Java 9は、あなたが使用できるまったく新しい技術をサポートしています:https://en.wikipedia.org/wiki/WebSocket。迅速で汚れた解決策は、javascriptのポーリング規則です。

基本的には、簡単なポーリングと高度なプッシュ技術をサーバー側とクライアント側の両方で行う必要があります。

また、自分で実装しないように選択し、そのようなものを使用することもできます。https://firebase.googleblog.com/2017/10/introducing-cloud-firestore.html

関連する問題