2010-10-30 15 views
11

¿Quién tiene que gestionar el persistente en el ZeroMQ?zeromq patrones de persistencia

Cuando utilizamos los clientes de ZeroMQ en el lenguaje Python, ¿cuáles son los complementos/módulos disponibles para administrar el persistente?

Me gustaría saber los patrones para usar ZeroMQ.

+7

La guía ZeroMQ tiene un patrón de persistencia llamado Titanic. Se basa en un patrón llamado MajorDomo. También puede hacer sus propias colas persistentes con bastante facilidad. Sin embargo, antes de comenzar a agregar persistencia, vale la pena entender sus requisitos de confiabilidad en detalle. La guía cubre esto en profundidad. Solo agregar persistencia en alguna parte no le dará confiabilidad. –

+1

@PieterHintjens Por favor, agregue esto como una respuesta. Casi lo extraño. Y es el recurso más valioso en esta página. –

Respuesta

9

Por lo que sé, Zeromq no tiene ninguna persistencia. Está fuera de alcance y debe ser manejado por el usuario final. Al igual que serializar el mensaje. En C#, he usado db4o para agregar persistencia. Por lo general, persisto el objeto en su estado bruto, luego lo serializo y lo envío al zócalo ZMQ. Por cierto, esto fue para PUB/SUB pair.

3

Al finalizar la aplicación puede persistir en consecuencia, por ejemplo, he creado una capa de persistencia en node.js que se comunicó a las llamadas de php de fondo y a través de websockets.

El aspecto persistencia mantuvo mensajes durante un cierto período de tiempo (http://en.wikipedia.org/wiki/Time_to_live) para darles a los clientes la oportunidad de conectarse. Usé estructuras de datos en memoria pero jugué con la idea de usar redis para ganar persistencia en el disco.