私のアプリでは、大量のクライアント (ユーザー マシンにインストールされた Java エージェント) との双方向の継続的な通信が必要です。さらに、これらのエージェントを管理するための標準の jsp UI を提供する spring mvc webapp が含まれています。私は Java akka の基本しか見ていません (このプロジェクトのために scala を学ぶ時間はありません)。しかし、大量のクライアント エージェントを処理するには、良い選択のように思えます。私は akka spring integration module と akka-spring-java の例を見てきましたが、Spring 側で akka を使用するのはかなり簡単に思えます。
クライアントエージェント側でakka remotingを使用することも良い考えかもしれないと思いました。別のアプリに組み込まれる可能性が高いエージェントは、基本的にスレッドを実行し、ユーザーのjvmでさまざまなプロセスを監視し、サーバー上のサービスと通信する必要があります。場所の透過性を使用すると、アーキテクチャが概念的に簡素化され、より効率的になる可能性があります。
この記事は、これが正しいアプローチではない可能性があることを示唆しています
リモーティングを使用する代わりに、akka spring 統合モジュールに関連付けられているように見えるキャメル websockets を使用します。
技術スタックを考えると、アプリのコンテキストで取るべき最善の方向性は何ですか?