Domanda

Sono voler configurazione RabbitMQ come cluster a due (o più) nodo con HA.

Caso d'uso: un cliente produttore app (C # .NET) sa che il cluster ha due nodi e pubblica al cluster. Varie applicazioni consumer (anche C # .NET) si connettono al cluster e ottenere tutti i messaggi generati dal produttore. Finché almeno un nodo è installato e funzionante il produttore e consumatori saranno tutti continuare a lavorare senza errori. nodi supponendo A e B sono in esecuzione e stampi B per un po ', poi viene riavviato, quindi un po stampi una successiva, i clienti tutti continuano a funzionare senza ricevere un errore dal sempre almeno un nodo è alto.

Può essere fatto per lavoro come questo, fuori dalla scatola?

Ci sono altri MQ che sarebbe più appropriato (ok commerciale) per un / ambiente applicativo di Windows .NET?

È stato utile?

Soluzione

  

Può essere fatto per lavoro come questo, fuori dalla scatola?

No. Quando un nodo scende, tutte le connessioni sono chiuse. Dal momento che le connessioni AMQP sono stateful, non c'è modo per aggirare questo. Che cosa si potrebbe ottenere è 1) mediatore va giù, 2) tutti i client disconnettono, 3) i client si connettono ad altri nodi (mascherato da originale) e sono nessuno il più saggio.

Una nota a parte, il coniglio non supporta il clustering attivo-attivo HA in questo momento. Lo fa supporto il clustering attivo-passivo e una forma di logica di clustering (che potrebbe essere quello che stai cercando).

Altri suggerimenti

RabbitMQ V2.6.0 ora supporta elevata disponibilità code utilizzando il clustering attivo / attivo. Microsoft e una serie di altre aziende hanno collaborato alla realizzazione di Apache Qpid che ha binding C # e che supporta anche attivo / attivo HA clustering.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top