11

現時点では、ZeroMQ を使用してプロトコル バッファ ペイロードを交換するソリューションがあります。シリアライゼーションのプロトコル バッファ方式はそのままにしておく必要がありますが、ZMQ をより便利なオプションに置き換えることができます。ZMQ で満足できない点は次のとおりです。

これは Java 側で JNI を使用しており、複雑なマルチスレッドのシナリオで JNI に悩まされたことがあります。私はできる限りそれを排除しようとします。

キューイングは必要ありません。rpc が必要なだけです。

私の要件(主にZeroMQでカバーされています)は次のとおりです。

  • 32/64 ビット *nix、Windows、MacOS のサポート。

  • Java、C++、C# を主にサポートし、Python、Ruby などをサポートするとよいでしょう。

  • 言語サポートは、ネイティブ コードのラッピングではなく、言語のネイティブ実装によって提供する必要があります。

  • ハイパフォーマンス。

  • Non Viral ライセンス、GPL、AGPL などはありません。

  • メッセージング用のJava実装がJNIを使​​用していない場合、ThriftをTCP経由のトランスポート層として使用することを考えています(サポートしていると思います)。

このセットアップで ZMQ 以外に考えられるオプションは何ですか?

4

3 に答える 3

11

おそらくNettyを見てください。これは、Apache ライセンスの条項に基づいてリリースされた、Protocol Buffer の組み込みサポートを備えた高性能 Java NIO サーバー フレームワークです。このフレームワークは十分に文書化されており、プロトコル バッファを使用してプロトコルのプロトタイプを作成する方法をいくつかの例で示しています。

于 2012-04-15T18:27:46.777 に答える
8

StormSpreadのようなものを考えたことはありますか?

于 2012-04-17T07:28:29.043 に答える