2010-10-30 21 views
11

Chi deve gestire il persistente in ZeroMQ?modelli di persistenza zeromq

Quando utilizziamo i client ZeroMQ in linguaggio Python, quali sono i plug-in/moduli disponibili per gestire il persistente?

Mi piacerebbe conoscere gli schemi per utilizzare ZeroMQ.

+7

La Guida ZeroMQ ha uno schema di persistenza chiamato Titanic. Si basa su un modello chiamato MajorDomo. Puoi anche creare facilmente le tue code persistenti. Tuttavia, prima di iniziare ad aggiungere persistenza, è importante comprendere i requisiti di affidabilità in dettaglio. La Guida copre questo in profondità. Aggiungere la persistenza da qualche parte non ti darà affidabilità. –

+1

@PieterHintjens Si prega di aggiungere questo come risposta. L'ho quasi perso. E 'la risorsa più preziosa in questa pagina. –

risposta

9

Per quanto ne so, Zeromq non ha alcuna persistenza. È fuori portata e deve essere gestito dall'utente finale. Proprio come serializzare il messaggio. In C#, ho usato db4o per aggiungere persistenza. In genere, l'oggetto viene mantenuto allo stato grezzo, quindi serializzato e inviato al socket ZMQ. Btw, questo era per la coppia PUB/SUB.

3

Alla fine dell'applicazione è possibile persistere di conseguenza, ad esempio, ho creato un livello di persistenza in node.js che comunicava alle chiamate php back-end e tramite websockets.

L'aspetto di persistenza conteneva messaggi per un certo periodo di tempo (http://en.wikipedia.org/wiki/Time_to_live) questo era per dare ai clienti la possibilità di connettersi. Ho usato le strutture dati in memoria, ma mi sono divertito con l'idea di usare i redis per ottenere la persistenza su disco.