RabbitMQ cumple todos los requisitos para el proyecto que estoy planificando, guarde uno. Tendría diferentes trabajadores escuchando en cola y es importante que procesen primero los mensajes más nuevos (es decir, el último número de secuencia) (LIFO).Mensajes de reordenación de RabbitMQ
Mi aplicación es tal que los mensajes más nuevos casi obsoletos mensajes más antiguos. Si tiene trabajadores de sobra, aún puede procesar los mensajes anteriores, pero es importante que los más nuevos se hagan primero.
Después de buscar los diversos foros y tal que sólo se puede ver una solución y que es para un cliente para procesar un mensaje que debería en primer lugar:
- consumen todos los mensajes
- volver a pedir de acuerdo a la número de secuencia
- volver a presentar a la cola
- consumen el primer mensaje
feo y probl ematic si el cliente muere a mitad de camino. Pero mabye alguien aquí tiene una mejor solución.
Mi investigación se basa (en parte) en:
- http://groups.google.com/group/rabbitmq-discuss/browse_thread/thread/e79e77d86bc7a3b8?fwc=1
- http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/2010-July/007934.html
- http://groups.google.com/group/rabbitmq-discuss/browse_thread/thread/e40d1069dcebe2cc
- http://old.nabble.com/Priority-Queue-implementation-and-performance-td29946348.html
Nota: el tráfico esperado de mensajes será más o menos estar en el rango de 1 msg/hora para algunas colas y 100/minuto para r otros. Entonces nada estelar.
Gracias por la respuesta. Sin embargo, no me gustaría que un consumidor muera de hambre a los demás.Prefiero que los otros consumidores trabajen en mensajes ligeramente menos recientes (que aún proporcionan cierta información) que dejarlos sentados al ralentí porque el consumidor X vació la cola. Aunque esto también depende de las tasas de mensajes, supongo. – dgorissen