私は、Javaで分散アプリケーションを設計しようとしています。少数のサーバと少数のマネージャ(サーバを監視および設定するアプリケーション)を使用します。サーバーとマネージャー間のトラフィックのほとんどは、マネージャーからサーバーへの要求ですが、サーバーは何かが発生したときにマネージャーに通知する必要があります。マネージャーはお互いに気にしないし、サーバー同士は気にしませんが、マネージャーは実行中のすべてのサーバーを管理し、サーバーは実行中のすべてのマネージャーによって管理される必要があります。 私は、すべての要求を中央のエンティティを通過させたくありません。双方向Javaクライアント/サーバ通信
この間に通信リンクを実装する最善の方法は何ですか?
RESTfulなAPI:単方向通信、私たちはあまり応答し、多くのリソースを無駄にポーリングを必要と私は考える何
。
は、各サーバ/マネージャのペアの間でソケットを開く:私には最良の方法のように見えますが、私は、車輪を再発明することになるような気が...
のJava RMI:良さそうに見えますが、それ中央エンティティ(rmiregistry)が必要です。さらに、私はJavaを使用していればそれに悩まされていますし、ポイントツーポイント通信にもっと適しているようです。
JMS:同じこと、それは、中央エンティティ(JMSプロバイダ)を必要とし、それが唯一のJavaだ...
ありがとう!