通信したい2つの小さなJavaアプリケーションがあります。通常のリクエストメッセージとJSONでの応答が必要です。2つのJavaプロセス間の高速通信
RMIおよびプロトコルバッファ:
は、私は2つの解決策を見つけました。
最も簡単な方法と実装が最も簡単な方法は何ですか?
通信したい2つの小さなJavaアプリケーションがあります。通常のリクエストメッセージとJSONでの応答が必要です。2つのJavaプロセス間の高速通信
RMIおよびプロトコルバッファ:
は、私は2つの解決策を見つけました。
最も簡単な方法と実装が最も簡単な方法は何ですか?
RMIまたはProtocolBufferのどちらも要件を満たしていません。 RMIは、Java Object Serialization Encodinを使用してデータを送受信します。 ProtoBuffersは独自のコード体系も使用します。 JSONと互換性もありません。
最も簡単な方法と実装が最も簡単な方法は何ですか? は、それは議論の余地があるものの
RMIは簡単です...上記の問題を無視suitablestated要件
です。 (2つの技術についてどれだけ知っているかによって異なります)
ProtoBuffersがより効率的になります。
言っJSONは、私はJSON形式を持っていwhichsコンテンツの文字列を意味します。
あなたは送信側と受信側のJSON文字列をとマーシャル/アンマーシャルはすでに、その後、最速かつ最も簡単な方法は、プレーンSockets
を使用することで、世話をされている場合。このシナリオでは、RMIまたはProtoBuffersのいずれも、実際の価値を提供しません。
もう1つの方法はHTTPまたはHTTPSです。これらは、ファイアウォールを介して許可される可能性が高くなります。 HTTPsは、適切に実装された方が安全です。しかし、そのセキュリティはパフォーマンスを犠牲にしています。
ファイアウォールが問題にならない場合は、メッセージサイズ、信頼性要件、ワンショットまたはリピートメッセージ交換の必要性などに応じて、TCPまたはUDPを使用した単純なソケットレベルの通信が適しています。
です。論理的遵守(すなわち、自律的理解メッセージ)と他の図書館への依存度との間の妥協点がある。最も基本的なのはソケット接続です。 –
その特定の要件については、私は(JSON outのプレーンテキスト)、私の最初の考えはカスタムプロトコルを使ったローカル(TCP)ソケットでしょう。 – Fildor
見つけた2つの候補外の提案(RMI、ProtoBuf)を開いていますか? – Fildor