0

私のアプリでは、大量のクライアント (ユーザー マシンにインストールされた Java エージェント) との双方向の継続的な通信が必要です。さらに、これらのエージェントを管理するための標準の jsp UI を提供する spring mvc webapp が含まれています。私は Java akka の基本しか見ていません (このプロジェクトのために scala を学ぶ時間はありません)。しかし、大量のクライアント エージェントを処理するには、良い選択のように思えます。私は akka spring integration module と akka-spring-java の例を見てきましたが、Spring 側で akka を使用するのはかなり簡単に思えます。

クライアントエージェント側でakka remotingを使用することも良い考えかもしれないと思いました。別のアプリに組み込まれる可能性が高いエージェントは、基本的にスレッドを実行し、ユーザーのjvmでさまざまなプロセスを監視し、サーバー上のサービスと通信する必要があります。場所の透過性を使用すると、アーキテクチャが概念的に簡素化され、より効率的になる可能性があります。

この記事は、これが正しいアプローチではない可能性があることを示唆しています

ピアツーピア対クライアントサーバー

リモーティングを使用する代わりに、akka spring 統合モジュールに関連付けられているように見えるキャメル websockets を使用します。

技術スタックを考えると、アプリのコンテキストで取るべき最善の方向性は何ですか?

4

1 に答える 1

0

サーバーとクライアントの状況では、おそらくリモート処理を使用したくないでしょう。リモート処理により、両側に同じ権利と特権が与えられます。クラスターおよびピアツーピア用に設計されました。

Akka I/O を見てください。両側で非同期アクターを提供しますが、サーバーとクライアントのユースケースにより適しています。スレッドやプロセスについて心配する必要はありません。

また、Java で Akka を使用する場合でも、依存関係として Scala ライブラリが必要であることを覚えておいてください。

于 2014-11-18T12:34:42.660 に答える