2016-04-18 16 views
0

Ich benutze hazelcast lokalen Listener für meinen Anwendungsfall. Ich habe die Dokumentation gelesen und verstehe, dass es die Warteschlange verwendet, um Ereignisse an Listener zu senden.Hazelcast Ereignis Considency

Was passiert mit den Ereignissen in der Warteschlange des ausgefallenen Knotens? Werden diese ignoriert oder sind sie in der Warteschlange und werden an einen neuen Knoten weitergeleitet, wenn das Replikat konfiguriert ist? Bitte klären Sie.

Gibt es eine Möglichkeit, den erfolgreichen Empfang der Nachricht mit einer Art Rückruf zu bestätigen? damit dieses Ereignis niemals verloren geht.

Antwort

0

LocalListener-Warteschlangen werden nicht verteilt (da Serialisierung erforderlich wäre). Auf jeden Fall wird von den Zuhörern nicht erwartet, dass sie lange Operationen ausführen, daher sollte Ihre Warteschlange immer leer sein. Warteschlangen neigen dazu, nur einen von zwei Zuständen zu haben: leer oder voll (abhängig von schnellem oder langsamem Verbraucher).

Und ja, wenn der Knoten ausfällt und Ihre lokale Warteschlange voll ist, verlieren Sie Ereignisse.

Was ist Ihr Anwendungsfall? Hast du langsame Konsumenten? Stellen Sie sich vor, sie in eine Hazelcast-Verteilungswarteschlange zu laden und sie unabhängig von den Ereignis-Threads auszuführen.

+0

Danke für die Antwort. mein Zuhörer veröffentlicht die Nachricht einfach im vertx Event Bus. Das ist alles. Ich denke nicht, dass es lang laufende Operationen ist. –

+0

Ich baue Auto-Push-Incident-System. Alle offenen Vorfälle werden in Haselnussspeicher geladen. Alle Aktualisierungen/Ergänzungen zu Vorfällen sollten automatisch auf den angemeldeten Benutzer (UI) übertragen werden. –