Comprender ZeroMQ - zeromq

Entonces, como lo he preguntado en una publicación anterior, quiero poder hacer programas o funciones escritos en diferentes idiomas para comunicarme entre ellos.

Me he encontrado con Zeromq recientemente y estoy intentandopara averiguar si esto es algo que podría ayudarme ya que proporciona algún tipo de enchufes. ¿Puede zeromq, por ejemplo, intercambiar datos (o pasar argumentos) entre un programa escrito en python con un programa o una función escrita en C ++ o su función para algo completamente diferente?

Respuestas

1 para la respuesta № 1

A: Oh sí, exactamente ese es el poder de ZeroMQ o nanomsg marcos

Ambos son no tomas de corriente mas bien COMPORTAMIENTO creado dentro de un contexto de Cero-* - un conjunto de máximas valientes Scaleable Formal doomunicación PAGAttern Framework fue diseñado, desarrollado y perfeccionado para cumplir.

Eso le permitirá armar su propia capa de mensajería rápida e inteligente.

P: ¿Cuál es el mejor paso siguiente?

A pesar de su primera impresión, simplemente olvide todo lo que sepa sobre enchufes y trucos de sincronización multiproceso.

Sí, más bien olvida y construye tu nuevo entendimiento sobre el "campo verde".

Tome Pieter HINTJENS " libro "Code Connected, Volume 1" (accesible en PDF ) y dedique unas semanas a comprender tanto la motivación como los errores típicos que Pieter ha incorporado a esta biblia de lectura obligada de ZeroMQ.

Los fragmentos de código son peligroso en caso de que no hayas perdido o completamente contexto completo del imagen más grande.

Créame. No podría darte un mejor consejo. Puede consultar mis otras publicaciones en ZeroMQ y nanomsg, para ver la diferencia.

Definitivamente se beneficiará de este libro y ZeroMQ le dará muchos poderes que nunca (y créame nunca) estarían listos para programar desde cero por su cuenta. El poder es tan inmenso (si bien reutilizado).


nota bene

Para las comunicaciones entre procesos en el mundo real,hay un problema menor que debe tenerse en cuenta. Varias versiones de ZeroMQ "interoperabilidad. Sí, el poder de ZeroMQ es inmenso, sin embargo, es necesario mantener el control de versión integrado en su capa de mensajería para resolver situaciones donde algunas plataformas no tienen una ruta de actualización para" nuevos "lanzamientos disponibles. Entramos en este tema con la reintegración de un sistema de comercio con un componente, donde tan antiguo como zmq.__version__ == 2.1.11 era necesario, mientras que las versiones recientes son muy superiores 14.x.y, para estar seguro de que es 100% compatible de extremo a extremo con versiones anteriores.

Aún así, el potencial general es tan inmenso, tiene sentido perseverar y hacer el trabajo. G / L sobre eso.


1 para la respuesta № 2

ZeroMQ es una abstracción de sockets. Es multiplataforma y tiene muchos enlaces de idiomas: personalmente no conozco ningún idioma que no tenga enlaces ZeroMQ.

Entonces, sí, puede usar ZeroMQ para comunicarse entre un programa escrito en Python y un programa escrito en C ++.

Recomiendo pasar por el zguide ya que contiene un mucho de información muy útil sobre ZeroMQ.

PyZMQ se puede usar como enlace de Python, y zmqpp para su código C ++. Tenga en cuenta que para el código C ++ también podría usar cppzmq o la API zmq C directamente. Recomendaría usar zmqpp como su nivel superior y (imho) más fácil de usar.