Pregunta

Estoy queriendo RabbitMQ configuración como un grupo de dos (o más) nodos con HA.

Caso de uso: una aplicación productor cliente (C # .NET) sabe que el clúster tiene dos nodos y publica al clúster. Varias aplicaciones de consumo (también C # .NET) se conectan al clúster y obtener todos los mensajes generados por el productor. Siempre que al menos un nodo está en marcha el productor y los consumidores de todo el trabajo continuará sin error. nodos Suponiendo A y B están ejecutando y matrices B durante un tiempo, luego se reinician, a continuación, un tiempo troqueles posteriores A, los clientes de todo siguen funcionando sin recibir un error ya que en todo momento al menos un nodo está arriba.

¿Se puede hacer para trabajar como éste fuera de la caja?

¿Hay algún otro MQS que sería más apropiado (bien comercial) para un entorno de aplicaciones de Windows / .NET?

¿Fue útil?

Solución

  

¿Se puede hacer para trabajar como éste fuera de la caja?

No. Cuando un nodo deja de funcionar, todas sus conexiones están cerradas. Dado que las conexiones son AMQP con estado, no hay forma de evitar esto. Lo que podría lograr es 1) corredor va hacia abajo, 2) todos los clientes se desconectan, 3) los clientes se conectan a otro nodo (haciéndose pasar por original) y son sin enterarse.

En una nota lateral, conejo no admite la agrupación HA activo-activo en el momento. Lo hace apoyo clustering activo-pasivo y una forma de agrupación lógica (que podría ser lo que estás buscando).

Otros consejos

RabbitMQ V2.6.0 ahora soporta colas de alta disponibilidad mediante la agrupación activo / activo. Microsoft y un número de otras compañías han colaborado en Apache Qpid que tiene enlaces de C # y que también es compatible activo / activo HA agrupación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top