Colección de citas famosas - Consulta de diccionarios - ¡Impresionante! Comprender el middleware de mensajes-RabbitMQ

¡Impresionante! Comprender el middleware de mensajes-RabbitMQ

RabbitMQ se lanzó en 2007 y se basa en AMQP (Protocolo avanzado de cola de mensajes). Message Queuing (MQ) es un método de comunicación de aplicación a aplicación desarrollado por Erlang (un lenguaje especialmente diseñado para una alta concurrencia de big data. Es un sistema de mensajería empresarial reutilizable y actualmente es el middleware de mensajes más común, el enrutamiento). Es confiable y flexible, y la agrupación de mensajes es simple.

1. Los mensajes son datos y los datos se agregan, eliminan y verifican. Por ejemplo, agregar, eliminar y verificar datos en los sistemas de gestión de empleados.

2. Cola se refiere a los datos que ingresan por un extremo y salen por el otro, como C# (estructura de datos de cola).

1. La cola de mensajes significa: un extremo recibe mensajes y el otro extremo envía mensajes.

2.RabbitMQ es un componente que implementa el concepto de cola de mensajes. Usando el pensamiento orientado a objetos, una cola de mensajes es una clase y RabbitMQ es un ejemplo. Por supuesto, no es solo RabbitMQ, como ActiveMQ, RocketMQ, Kafka, incluido Redis, que también pueden implementar colas de mensajes.

1. En una arquitectura única común, el proceso principal es que la operación de la interfaz de usuario del usuario inicia una solicitud HTTP>: procesamiento del servidor> luego el servidor interactúa directamente con la base de datos y finalmente retroalimenta los resultados del usuario de forma sincrónica. .

2. En la arquitectura de microservicios, la interfaz de usuario se comunica con los microservicios principalmente a través de comunicación síncrona Http o gRPC.

Análisis del problema

En los dos casos anteriores, encontramos que las solicitudes de UI son sincrónicas. Aunque la segunda arquitectura divide todo el servicio en diferentes microservicios según el negocio y corresponde a sus respectivas bases de datos, el problema de la comunicación entre usuarios y microservicios aún no está resuelto. Por ejemplo, la capacidad de carga de la base de datos sólo puede manejar 100.000 solicitudes. Si la interfaz de usuario inicia 500.000 solicitudes con alta concurrencia, la base de datos no podrá soportarlas, lo que provocará los siguientes problemas.

1. Las solicitudes muy simultáneas provocan una degradación del rendimiento del sistema y una respuesta lenta, al tiempo que aumentan el riesgo de carga de la base de datos.

2. La escalabilidad no es sólida y la interacción de la operación de la interfaz de usuario depende en gran medida del negocio, lo que resulta en una disminución de la experiencia del usuario.

3. Si la afluencia de tráfico instantáneo es enorme, el servidor puede colgar directamente.

Solución

Ventajas de RabbitMQ

Desventajas de RabbitMQ

1 ConnectionFactory es una fábrica de fabricación de conexiones.

2.Connection es el enlace de socket de RabbitMQ, que encapsula cierta lógica relacionada con el protocolo de socket.

3. Channel es la interfaz más importante para nosotros al tratar con RabbitMQ. La mayoría de nuestras operaciones comerciales se completan en esta interfaz, incluida la definición de colas, la definición de intercambios, la vinculación de colas e intercambios y la publicación de mensajes.

4.Exchange (switch) Generalmente pensamos en productores enviando mensajes a colas. De hecho, los productores envían mensajes al intercambio, que los encamina a una o más colas (o los descarta). En RabbitMQ, Exchange I * * * tiene cuatro estrategias, a saber: fanout (sector), directo (directo), tema (tema) y encabezados.

Descarga RabbitMQ.

2. Entorno de ejecución erlang

3. Una vez completada la instalación, cargue el complemento de administración RabbitMQ.

4. La instalación se realizó correctamente y se conectó a blogs.com/yuxl01/p/15978229.html, el backend de administración de Rabbit MQ.