Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why one might need JeroMQ if it can use JZMQ?

Simple question. Why "porting" zmq on java and call it JeroMQ is good idea?

like image 686
Artem Vysochyn Avatar asked Sep 26 '13 19:09

Artem Vysochyn


2 Answers

JeroMQ is an official project of the ZeroMQ community; it's a full port of the C++ libzmq library, supporting version 3.2.

Advantages:

  • Pure Java, so no need to link in C/C++ via JNI. This is extremely helpful on devices where native libraries are difficult or impossible.
  • 100% compatible with the JZMQ API (the two projects agreed on a single API so you can import one or the other transparently).
  • 100% compatible with the ZeroMQ wire protocol, so you can run some nodes using JeroMQ and some using the native library, and it works as expected.
  • Good performance, relatively close to the native library.

Disadvantages:

  • No PGM multicast - there is no Java version of that library yet.
  • Does not yet support ZeroMQ v4 functionality, including security.
like image 112
Pieter Hintjens Avatar answered Nov 14 '22 07:11

Pieter Hintjens


JeroMQ is a pure Java implementation of ZeroMq. If your target language is Java, it's easier to get started with JeroMq since it uses a single jar file. ZeroMq (zmq), on the other hand, is written in C. You must build zmq, libzmq, and the Java language bindings, jzmq, to use it in a Java app. The JeroMq API is identical to jzmq, so starting with JeroMq and switching to jzmq later has no impact on your application with the exception of performance; zmq performs better than JeroMq.

Hope that helps,

like image 3
raffian Avatar answered Nov 14 '22 06:11

raffian