私は現在、かなり大きなバイト配列 (<50MB) を RMI 経由で転送するのが良い考えかどうかを調べようとしています。
速度が遅く、クライアントとサーバーの両方でデータをメモリに保持する必要があることを読みました。これは、複数の呼び出しがある場合に問題になる可能性があります。
これに代わる(単純な)ものはありますか?
私は現在、かなり大きなバイト配列 (<50MB) を RMI 経由で転送するのが良い考えかどうかを調べようとしています。
速度が遅く、クライアントとサーバーの両方でデータをメモリに保持する必要があることを読みました。これは、複数の呼び出しがある場合に問題になる可能性があります。
これに代わる(単純な)ものはありますか?
大量のデータを送受信するための圧縮をサポートするJavaストリームを検討してください。
たとえば、データを送信するためのGZipOutputStreamと、送信されたデータブロックを受信するためのGZipInputStream 。
RMI は、オブジェクトを転送することを目的としています。サーバーにバイト配列オブジェクトがあり、クライアントにそれが必要な場合は、正常に配信されるまで両方の場所に配置する必要があります (その後、元のオブジェクトを削除できます)。
より合理的なアプローチは、一度に小さなチャンクのみを転送するリモート オブジェクトを生成する呼び出しを繰り返すことです。これにより、複数のトリップが必要になり、速度が低下します。
解決したい実際の (技術的ではない) 問題は何ですか?