Red de conocimiento informático - Problemas con los teléfonos móviles - RabbitMQ implementa el consumo retrasado (cola de retraso)

RabbitMQ implementa el consumo retrasado (cola de retraso)

Primero, agregue dependencias al pom.

Luego configura el archivo yml.

Crear cola de negocios y cola de mensajes no entregados

El consumidor está utilizando los mensajes en la cola de mensajes no entregados.

Después de iniciar el servicio, puede ver el conmutador y la cola creados.

El mensaje se reenvía desde la cola prod_queue_pay a la cola dl-queue después de su vencimiento. El consumo retrasado de mensajes está bien implementado. Pero encontraremos un problema. Al establecer el tiempo de vencimiento del atributo de cola, si tengo diferentes escenarios ahora, como un consumo retrasado después de 5, 10 y 15 segundos, necesito crear tres colas. Cada vez que hay demandas de diferentes períodos de tiempo, necesito crear una cola, lo cual definitivamente no es posible.

Entrada rápida: /p /p/78354a3e35d0

Al enviar un mensaje, controle el tiempo de retraso del mensaje agregando el parámetro "x-delay" en el encabezado.

Inicie el servicio e inicie sesión en la interfaz de administración de RabbitMQ. Puede ver que el conmutador y la cola se han creado correctamente.

Este tipo de correo electrónico admite un mecanismo de entrega retrasada. Después de recibir el mensaje, no se entrega inmediatamente a la cola de destino, sino que se almacena en la tabla mnesia (un sistema de datos distribuidos) para detectar el tiempo de retraso del mensaje. Si se alcanza el tiempo de entrega, el tipo de cambio se marca como x-retrasado. -type se utiliza Publicado en la cola de destino. Estos juicios y operaciones dan como resultado una baja eficiencia de intercambio. No utilice colas de retraso de complementos si no son necesarias.