2013-09-26 3 views
6

간단한 질문입니다. 왜 자바에서 zmq를 "이식"하고 그것을 JeroMQ라고 부르는 것이 좋은 생각입니까?JZMQ를 사용할 수있는 이유는 무엇입니까?

+2

누군가가 아마도 문제를 풀기를 원했기 때문입니다. 이유를 묻습니다 (예 : FAQ/문서 참조). 그 이름은 왜 안 되니? 항만과 가까운 경쟁자는 일반적으로 "유사한"이름을 사용하여 그들이 밀접하게 관련되어 있음을 보여줍니다. emacs/xemac, vim/gvim, NUnit/XUnit, Hibernate/nHibernate 등 – user2246674

답변

14

JeroMQ가 ZeroMQ 커뮤니티의 공식 프로젝트; 그것은 버전 3.2를 지원하는 C++ libzmq 라이브러리의 전체 포트입니다.

장점 : JNI를 통해 C/C++로 연결하는

  • 순수 자바, 그래서 필요가 없습니다. 이는 네이티브 라이브러리가 어렵거나 불가능한 장치에 매우 유용합니다.
  • JZMQ API와 100 % 호환됩니다 (이 두 프로젝트는 하나의 API에 동의하므로 하나 또는 다른 하나를 투명하게 가져올 수 있음).
  • ZeroMQ 와이어 프로토콜과 100 % 호환되므로 일부 노드는 JeroMQ를 사용하고 일부는 네이티브 라이브러리를 사용하여 실행할 수 있으므로 예상대로 작동합니다.
  • 좋은 성능, 네이티브 라이브러리에 비교적 가깝습니다.

단점 :

  • 없음 PGM 멀티 캐스트는 - 아직 해당 라이브러리의 어떤 Java 버전이 없습니다.
  • 아직 보안을 포함하여 ZeroMQ v4 기능을 지원하지 않습니다.
3

JeroMQ는 ZeroMq의 순수 자바 구현입니다. 대상 언어가 Java 인 경우 단일 Jar 파일을 사용하기 때문에 JeroMq를 시작하는 것이 더 쉽습니다. 반면, ZeroMq (zmq)는 C로 작성됩니다. Java 응용 프로그램에서 사용하려면 zmq, libzmq 및 Java 언어 바인딩 jzmq를 빌드해야합니다. JeroMq API는 jzmq와 동일하므로 JeroMq로 시작하고 나중에 jzmq로 전환해도 성능을 제외하고는 애플리케이션에 아무런 영향을 미치지 않습니다. zmq는 JeroMq보다 성능이 좋습니다. 도움이

희망,

관련 문제