2013-09-26 12 views
6

Einfache Frage. Warum "zmq auf Java portieren" und es JeroMQ nennen, ist eine gute Idee?Warum braucht man JeroMQ, wenn es JZMQ benutzen kann?

+2

Weil jemand wollte - vermutlich um ein Problem zu lösen. Fragen Sie sie, warum (siehe z. B. FAQ/Dokumentation). Was den Namen angeht, warum nicht? Häfen und enge Konkurrenten folgen normalerweise "ähnlichen" Namen, um zu zeigen, dass sie eng verwandt sind. emacs/xemac, vim/gvim, NUnit/XUnit, Hibernate/nHibernate usw. – user2246674

Antwort

14

JeroMQ ist ein offizielles Projekt der ZeroMQ Gemeinschaft; Es ist ein vollständiger Port der C++ libzmq-Bibliothek, die Version 3.2 unterstützt.

Vorteile:

  • reine Java, so dass keine Notwendigkeit in C/C++ über JNI zu verknüpfen. Dies ist äußerst hilfreich auf Geräten, auf denen native Bibliotheken schwierig oder unmöglich sind.
  • 100% kompatibel mit der JZMQ API (die beiden Projekte vereinbart auf einer einzigen API, so dass Sie die eine oder andere transparent importieren können).
  • 100% kompatibel mit dem ZeroMQ-Kabel-Protokoll, so dass Sie einige Knoten mit JeroMQ und einige mit der nativen Bibliothek ausführen können, und es funktioniert wie erwartet.
  • Gute Leistung, relativ nah an der nativen Bibliothek.

Nachteile:

  • Kein PGM Multicast - es gibt keine Java-Version dieser Bibliothek noch.
  • Die ZeroMQ v4-Funktionalität, einschließlich der Sicherheit, wird noch nicht unterstützt.
3

JeroMQ ist eine reine Java-Implementierung von ZeroMq. Wenn Ihre Zielsprache Java ist, ist es einfacher, mit JeroMq zu beginnen, da es eine einzige JAR-Datei verwendet. ZeroMq (zmq) wird dagegen in C geschrieben. Sie müssen zmq, libzmq und die Java-Sprachbindungen jzmq erstellen, um sie in einer Java-App zu verwenden. Die JeroMq-API ist identisch mit jzmq. Daher hat das Starten mit JeroMq und das Wechseln zu jzmq später keine Auswirkungen auf Ihre Anwendung, mit Ausnahme der Leistung. zmq funktioniert besser als JeroMq.

Hoffnung, die hilft,

Verwandte Themen