2012-01-31 9 views
11

Como ejercicio, estoy tratando de encontrar un ejemplo que implemente consumidores en competencia.¿Cómo implementar una solución de consumidor competidora?

muchos productores -> MSMQueue < - los consumidores que compiten

Hasta ahora no se encontró ninguna documentación sobre cómo lograr esto. Mi primer intento de averiguar cómo se implementa en MassTransit o NServiceBus falló en muchas capas de indirección.

Cualquier ayuda será muy apreciada.

Respuesta

13

Con MassTransit y MSMQ puede lograrlo utilizando el componente Distributor.

Tenga en cuenta que si utiliza MassTransit con RabbitMQ en lugar de MSMQ, se puede implementar un escenario de consumo que compiten sin el uso del distribuidor, simplemente poniendo el mismo nombre de la cola para todos los consumidores. Si puede elegir entre MSMQ y RabbitMQ, elegiría RabbitMQ, a medida que obtenga mejores herramientas de administración y encriptación SSL, y también se jugará bien con los firewalls.

Hay un poco de discusión sobre esto en el MassTransit Google Groups forum.

+4

Como el tipo que escribió el distribuidor, utilicé RabbitMQ en su lugar. Transmitimos 10s de millones de mensajes al día a través del distribuidor, pero RabbitMQ lo hace mucho más fácil. No puede usar la misma cola para leer con MSMQ, cada consumidor necesita su propia cola, pero el componente de distribuidor se encarga de distribuir una carga de trabajo. – Travis

+0

Gracias, echaré un vistazo a RabbitMQ. Travis ¿Cuáles son los mecanismos del distribuidor? Actúa como 1 consumidor individual en la cola de entrada y los despachos funcionan según la disponibilidad de los trabajadores mediante la cola de control. – ruslander

+0

@ruslander - correcto, así es básicamente como funciona el distribuidor. –

Cuestiones relacionadas