2013-09-26 9 views
6

Domanda semplice. Perché "porting" su zmq su java e chiamarlo JeroMQ è una buona idea?Perché uno potrebbe aver bisogno di JeroMQ se può usare JZMQ?

+2

Perché qualcuno voleva - presumibilmente per risolvere un problema. Chiedi loro il motivo (ad esempio vedi le FAQ/documentazione). Per quanto riguarda il nome, perché no? Porte e concorrenti vicini di solito seguono nomi "simili" per dimostrare che sono strettamente correlati. emacs/xemac, vim/gvim, NUnit/XUnit, Hibernate/nibernate ecc. – user2246674

risposta

14

JeroMQ è un progetto ufficiale della comunità ZeroMQ; è una porta completa della libreria libzmq C++, che supporta la versione 3.2.

Vantaggi:

  • puro Java, quindi non è necessario collegare in C/C++ tramite JNI. Ciò è estremamente utile su dispositivi in ​​cui le librerie native sono difficili o impossibili.
  • 100% compatibile con l'API JZMQ (i due progetti concordano su una singola API in modo da poter importare uno o l'altro in modo trasparente).
  • 100% compatibile con il protocollo del filo ZeroMQ, quindi è possibile eseguire alcuni nodi utilizzando JeroMQ e altri utilizzando la libreria nativa e funziona come previsto.
  • Buona prestazione, relativamente vicino alla libreria nativa.

Svantaggi:

  • No PGM multicast - non esiste una versione Java di quella libreria ancora.
  • Non supporta ancora la funzionalità di ZeroMQ v4, inclusa la sicurezza.
3

JeroMQ è un'implementazione Java pura di ZeroMq. Se la lingua di destinazione è Java, è più semplice iniziare con JeroMq poiché utilizza un singolo file jar. ZeroMq (zmq), d'altra parte, è scritto in C. È necessario creare zmq, libzmq e il linguaggio Java binding, jzmq, per usarlo in un'app Java. L'API JeroMq è identica a jzmq, quindi iniziare con JeroMq e passare a jzmq in seguito non ha alcun impatto sull'applicazione con l'eccezione delle prestazioni; zmq ha prestazioni migliori di JeroMq.

Speranza che aiuta,

Problemi correlati