質問

Java で RPC サーバーを作成する予定です。サーバーは受信 RPC (おそらく HTTP 経由) を受け入れ、それに応答する必要があります。かなり基本的なもの。「ロングポーリング」または「ハング」RPC のサポートは必要ないため、リクエストごとのスレッドモデルで完全に適切です。

これを Python で書いていたら、おそらくTwistedのようなフレームワークを使用するでしょう。C では、glibc のようなもの。いずれの場合も、フレームワークは IO を処理する一般的な「選択ループ」コアの実装を提供し、それを処理する高レベルの構造を呼び出し、最終的にアプリケーションが RPC の受信などのイベントで呼び出されるようにします。

ただし、Java で実質的なものを書いてから長い時間が経っているため、この種のことに関する最新技術や推奨されるソリューションが何であるかはわかりません。おそらく、これを行うために簡単に使用できる標準ライブラリの一部もあるでしょう。したがって、StackOverflow への私の質問は次のとおりです。このようなタスクに適したフレームワークにはどのようなものがあるでしょうか?

RPC に HTTP を使用することもありますが、これは Web アプリケーションではないため、Web フレームワークは適切ではないことに注意してください。

役に立ちましたか?

解決

非常によく設計された非同期ノンブロッキング・ネットワーキング・フレームワークですに。これは、パケットデータを読み書きするためにバイト指向のアクセスを提供します。それは追加の層を等行指向のテキスト解析、(TLSを介して)、暗号化、圧縮、のようなものを提供すること、追加することができるフィルタシステムを有することの上に構築します。

PS:2.0リリースシリーズは非常にそれが「マイルストーン」の形ではまだだが、それは非常に安定した実績のだと最終リリースに近づいているにもかかわらず、推奨されます。

他のヒント

複数の選択肢があります:

  • ソケット プログラミング用の既存の SDK を使用して独自のソリューションを展開します。
  • Java RMI、リモート メソッド呼び出しフレームワーク。
  • Java CORBA バインディングは、最新のものとみなされなくなりました。
  • Java Web サービス フレームワークは非常に複雑です。Apache CXF とさまざまな J2EE 製品を見てください。

次に、Web サーバーが必要な JSON/XML-RPC などの HTTP トランスポート上でさまざまなシステムを実行します。たとえあなたがそれらを除外したとしても。

scroll top