2013-09-26 3 views
6

Простой вопрос. Почему «портирование» zmq на java и называть его JeroMQ - хорошая идея?Зачем нужен JeroMQ, если он может использовать JZMQ?

+2

Потому что кто-то хотел - предположительно, решить проблему. Спросите их, почему (например, см. FAQ/документацию). Что касается названия, почему бы и нет? Порты и близкие конкуренты обычно следуют «похожим» именам, чтобы показать, что они [тесно] связаны. emacs/xemac, vim/gvim, NUnit/XUnit, Hibernate/nHibernate и т. д. – user2246674

ответ

14

JeroMQ является официальным проектом сообщества ZeroMQ; это полный порт библиотеки libzmq C++, поддерживающий версию 3.2.

Преимущества:

  • Pure Java, поэтому нет необходимости связывать в C/C++ с помощью JNI. Это чрезвычайно полезно на устройствах, где родные библиотеки сложны или невозможны.
  • 100% совместим с API JZMQ (два проекта согласовали один API, чтобы вы могли импортировать один или другой прозрачно).
  • 100% совместим с проводным протоколом ZeroMQ, поэтому вы можете запускать некоторые узлы с помощью JeroMQ, а некоторые - с помощью родной библиотеки, и он работает так, как ожидалось.
  • Хорошая производительность, относительно близкая к родной библиотеке.

Недостатки:

  • Нет PGM широковещательные - нет никакой версии Java из этой библиотеки еще.
  • Пока не поддерживает функциональность ZeroMQ v4, включая безопасность.
3

JeroMQ - это чистая реализация Java ZeroMq. Если ваш целевой язык - Java, с JeroMq проще начать работу, поскольку он использует один файл jar. ZeroMq (zmq), с другой стороны, написано на C. Вы должны построить zmq, libzmq и привязки языка Java jzmq, чтобы использовать его в приложении Java. API JeroMq идентичен jzmq, поэтому, начиная с JeroMq, и переход на jzmq позже не влияет на ваше приложение, за исключением производительности; zmq работает лучше, чем JeroMq.

Надежда, что помогает,