2013-09-26 8 views
6

簡単な質問です。なぜzmqをjavaに移植してJeroMQと呼ぶのが良いのでしょうか?JZMQを使用できる場合、なぜJeroMQが必要なのでしょうか?

+2

誰かがおそらく問題を解決したかったからです。その理由を尋ねます(FAQ /ドキュメントなどを参照)。名前はどうして?港と密接な競合企業は通常、「密接に関連している」ことを示すために「類似の」名前に従います。 emacs/xemac、vim/gvim、NUnit/XUnit、Hibernate/nHibernateなどがあります。 – user2246674

答えて

14

JeroMQはZeroMQコミュニティの公式プロジェクトです。それはバージョン3.2をサポートするC++ libzmqライブラリのフルポートです。

利点:

  • ピュアJavaの、JNI経由でC/C++にリンクするので、必要はありません。これは、ネイティブライブラリが困難または不可能なデバイスで非常に役立ちます。
  • JZMQ APIと100%互換性があります(2つのプロジェクトが1つのAPIで合意したので、どちらか一方を透過的にインポートできます)。
  • ZeroMQワイヤプロトコルと100%互換性があるため、JeroMQを使用していくつかのノードを実行し、ネイティブライブラリを使用していくつかのノードを実行することができます。
  • パフォーマンスが良好で、ネイティブライブラリに比較的近い。

短所:

  • ませんPGMマルチキャスト - そのライブラリのないJavaバージョンはまだありません。
  • まだセキュリティを含むZeroMQ v4の機能をサポートしていません。
3

JeroMQはZeroMqの純粋なJava実装です。ターゲット言語がJavaの場合、JeroMqは単一のjarファイルを使用するため、JeroMqを使い始めるほうが簡単です。一方、ZeroMq(zmq)はCで書かれています。Javaアプリケーションで使用するには、zmq、libzmq、およびJava言語バインディングjzmqをビルドする必要があります。 JeroMq APIはjzmqと同じですので、JeroMqで始まり、後でjzmqに切り替えることは、パフォーマンスを除いてアプリケーションに影響を与えません。 zmqはJeroMqよりも優れたパフォーマンスを発揮します。

希望するもの、