2010-10-30 19 views
11

Kto musi zarządzać trwałymi w ZeroMQ?wzory trwałości zeromq

Gdy używamy klientów ZeroMQ w języku Python, jakie są wtyczki/moduły dostępne zarządzać trwałe?

Chciałbym poznać wzorce do korzystania z ZeroMQ.

+7

Przewodnik ZeroMQ ma wzór trwałości o nazwie Titanic. Opiera się na wzorzec o nazwie MajorDomo. Możesz także łatwo tworzyć swoje własne stałe kolejki. Jednak zanim zaczniesz dodawać uporczywość, warto szczegółowo zapoznać się z wymaganiami dotyczącymi niezawodności. Przewodnik obejmuje to dogłębnie. Dodanie trwałości gdzieś nie zapewni ci niezawodności. –

+1

@PieterHintjens Dodaj to jako odpowiedź. Prawie tego nie zauważyłem. I to jest najcenniejszy zasób na tej stronie. –

Odpowiedz

9

O ile wiem, Zeromq nie ma żadnej trwałości. Nie jest to możliwe i musi być obsługiwane przez użytkownika końcowego. Podobnie jak serializowanie wiadomości. W języku C# użyłem db4o, aby dodać trwałość. Zazwyczaj utrzymuję obiekt w stanie surowym, następnie serializuję go i wysyłam do gniazda ZMQ. Przy okazji, to było dla pary PUB/SUB.

3

Na aplikacji kończy można odpowiednio utrzymują się, na przykład I został zbudowany warstwy oporność w node.js, które przekazane do back-end połączenia PHP i poprzez WebSocket.

Informacja o utrzymaniu przez określony czas (http://pl.wikipedia.org/wiki/Time_to_live) miała na celu umożliwienie klientom nawiązania połączenia. Użyłem struktur danych w pamięci ale wpadłem na pomysł wykorzystania redis, aby uzyskać odporność na dysku.