zmq context zeromq crossroads-io

context - ZeroMQ vs Crossroads I/O



zmq context (1)

Crossroads.io está bastante muerto desde que Martin Sustrik comenzó en una nueva pila, en C, llamada nano: https://github.com/250bpm/nanomsg

Crossroads.io no implementa ZMTP / 1.0 ni ZMTP / 2.0, sino su propia versión del protocolo.

Nano tiene transportes enchufables y probablemente haremos un transporte ZMTP para eso. Nano es realmente bueno, un replanteamiento de la biblioteca libzmq original y, si tiene éxito, sería un buen kernel nuevo.

Idealmente, Nano interoperaría tanto en la API como en el nivel de protocolo, por lo que sería un reemplazo conectable para libzmq. Sin embargo, tiene un largo camino por recorrer.

Tenga en cuenta que ahora hay varias reescrituras de libzmq emergentes, incluidas JeroMQ (Java) y NetMQ (C #). Estos dos implementan ZMTP / 1.0 y ZMTP / 2.0 correctamente. También hay otras bibliotecas como Axon (https://github.com/visionmedia/axon) que están muy inspiradas en 0MQ pero no son compatibles.

Según la experiencia, los usuarios valoran la interoperabilidad más que casi cualquier otra cosa, por lo que es muy probable que diferentes pilas de tipo 0MQ terminen hablando los mismos protocolos.

Estoy estudiando el uso de ZeroMQ como la capa de mensajería / transporte para un sistema distribuido bastante grande, dirigido principalmente al monitoreo y la recolección de datos (muchos productores, algunos consumidores).

Por lo que puedo ver, actualmente hay dos implementaciones diferentes del mismo concepto; ZeroMQ y Crossroads I / O, esta última es una bifurcación de ZeroMQ (¿en 2012?).

Estoy tratando de averiguar cuál usar y me pregunto acerca de las diferencias entre ellos, pero hasta ahora no he encontrado mucha información al respecto.

Por ejemplo:

  • ¿Son compatibles en el cable?
  • ¿Son compatibles con API, es decir, algún tipo de API base común, posiblemente con diferentes complementos?
  • ¿Ambos implementan soporte para ZMTP (ZeroMQ Message Transport Protocol)?
  • ¿Comparten algún tipo de entendimiento común sobre el desarrollo futuro o continuarán en dos direcciones diferentes y posiblemente diferentes?
  • ¿Cuáles son los pros / contras en relación con el otro?

Básicamente, ¿cómo se elige uno sobre el otro?