prefacio
En algunos lugares, se utilizan colas de mensajes para garantizar la precisión del procesamiento de la información. Por ejemplo, en situaciones de alta concurrencia, los sitios web realizan el procesamiento de datos. Hoy este artículo recoge una sencilla demostración de RabbitMQ. Antes de entrar en este artículo, el entorno RbMQ debe instalarse con antelación (porque ya instalé el entorno local de RbMQ antes, y me temo que desinstalar cause algunos problemas de que el registro no esté limpio, así que no registraré la instalación del entorno aquí).
Entorno y herramientas
>Sistema Windows 10
>Servicios Ambientales de RabbitMQ
>VS 2017
Mensaje de texto
1: Crear dos nuevas aplicaciones de consola, a saber, "RabbitMQClient" y "RabbitMQServer".
2: Consultar la dll "RabbitMQ.Client"
3: En el proyecto RabbitMQClient, Program.cs, pega el siguiente código
4: En el proyecto RabbitMQServer, Program.cs, pega el siguiente código
5: F5 para iniciar el proyecto RabbitMQServer, en la consola, introduce la información, pulsa enter.
6: No cierres la consola del proyecto RabbitMQServer, haz clic derecho en el proyecto RabbitMQClient - > "Depurar" - > "Iniciar una nueva instancia"
Puedes introducir información en la consola RabbitMQServer a la derecha para mostrarla a la izquierda. El proyecto RabbitMQServer produce mensajes. El proyecto RabbitMQClient procesa (consume) mensajes. Este es el productor y consumidor en la cola de mensajes. El código también incluye enrutamientos y canales.
Por parte del productor de mensajes, suelta la información para procesar en la cola de mensajes. Tras recibir el mensaje, el consumidor puede procesar estos datos en consecuencia.
Si el entorno está instalado, la dirección local predeterminada debe ser http://localhost:15672/#/queues. Puedes acceder directamente a la cuenta de invitado, o configurar la cuenta y los permisos correspondientes tocando la línea de comandos.
La información que acabas de introducir en la consola de RabbitMQServer en realidad existe primero en la cola de mensajes, puedes cerrar primero la ventana de RabbitMQClient y luego introducir algunas piezas de información en la ventana, observar la cola de mensajes y ver que hay tres datos en la cola.
Cuando se inicia nuestra ventana RabbitMQClient, el mensaje desaparece automáticamente de la cola de mensajes tras recibirlo normalmente. Este es el mecanismo de confirmación de la cola de mensajes; una vez que la información que necesitamos recibe correctamente, el consumidor devolverá un estado a la cola de mensajes para destruir el mensaje. Si el consumidor no recibe el mensaje, o si hay una excepción y no devuelve este valor de estado, el mensaje permanecerá en la cola hasta que se consuma normalmente, lo que garantiza la precisión del mensaje.
Epílogo
Desafortunadamente, hay muy pocos lugares donde use colas de mensajes en mis proyectos. Sin un conocimiento profundo, solo se usarán los fundamentos.
Hay un hueco en la demo anterior, y la conexión de RbMQ en RabbitMQClient tiene una capa de uso. Como es un hilo asincrónico, esto hará que el programa ejecute y recicle la conexión RbMQ antes de que termine de recibir el mensaje, y se reportará un error. La forma de solucionarlo es: quitarla y liberarla manualmente.
|