¡Impresionante! Obtenga más información sobre el middleware de mensajes-RabbitMQ en un artículo
RabbitMQ se lanzó en 2007. Se basa en AMQP (Protocolo avanzado de cola de mensajes). La abreviatura de MQ es Message Queue (MQ), un método de comunicación de aplicación a aplicación. Erlang (un lenguaje específicamente dirigido a una alta concurrencia de big data) es un sistema de mensajes empresariales reutilizable. Es uno de los middlewares de mensajes más utilizados en la actualidad y tiene confiabilidad, enrutamiento flexible, agrupación de mensajes simple y colas. soporte de protocolo, interfaz de gestión, mecanismo de seguimiento y mecanismo de complemento.
1. El mensaje son datos, datos agregados, eliminados, modificados y verificados. Por ejemplo, agregar, eliminar, modificar y verificar datos en el sistema de gestión de empleados
2. Cola se refiere a los datos que ingresan por un extremo y los datos que salen por el otro extremo, como en C# (Datos de cola estructura)
1. La cola de mensajes se refiere a: un extremo de mensajes entrantes, un extremo de mensajes salientes
2. RabbitMQ es un componente que implementa el concepto de cola de mensajes Para entenderlo desde una perspectiva orientada a objetos, la cola de mensajes es una clase, y RabbitMQ es un ejemplo. Por supuesto, no es solo RabbitMQ, como ActiveMQ, RocketMQ, Kafka, incluido Redis, también pueden implementar mensajes. colas.
1. En una arquitectura monolítica 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 sincrónica a través de Http o gRPC
Análisis de problemas
En los dos casos anteriores, encontramos que las solicitudes de UI son todas operaciones sincrónicas. Aunque la segunda arquitectura divide el servicio general en diferentes microservicios según el negocio y corresponde a sus respectivas bases de datos, cuando los usuarios se comunican con los microservicios. En este momento, los problemas existentes aún no se han resuelto. Por ejemplo, la capacidad de carga de la base de datos solo puede manejar 100.000 solicitudes. Si la interfaz de usuario inicia 50.000 solicitudes en una situación de alta concurrencia, la base de datos estará lejos de poder manejarlas, lo que provocará el problema. siguientes problemas.
1. Las solicitudes muy simultáneas provocan una degradación del rendimiento del sistema y una respuesta lenta y, al mismo tiempo, aumenta el riesgo de carga de la base de datos.
2. La escalabilidad no es sólida y el la interacción de las operaciones de la interfaz de usuario depende en gran medida del negocio, lo que da como resultado una experiencia de usuario reducida
3. Si la afluencia de tráfico instantáneo es enorme, el servidor puede colgarse directamente
Solución
Ventajas de RabbitMQ
Deficiencias de RabbitMQ
1.ConnectionFactory es la fábrica de Connection.
2.Connection es el enlace de socket de RabbitMQ, que encapsula cierta lógica relacionada con el protocolo de socket.
3. El canal es la interfaz más importante para nosotros para tratar con RabbitMQ. La mayoría de nuestras operaciones comerciales se completan en la interfaz del canal, incluida la definición de cola, la definición de intercambio, la vinculación de cola e intercambio, publicación de noticias, etc. .
4. Exchange (switch) Generalmente pensamos que el productor entrega el mensaje a la cola. De hecho, la situación real es que el productor envía el mensaje a Exchange, y Exchange enruta el mensaje a uno o. más cola (o descartada), y Exchange en RabbitMQ tiene 4 estrategias, a saber: fanout (fan), directo (conexión directa), tema (tema), encabezados (encabezado)
1. Descargar RabbitMQ p>
2. Ejecute el entorno erlang
3. Una vez completada la instalación, cargue el complemento de administración RabbitMQ
4. La instalación se realizó correctamente y podrá acceder Gestión de RabbitMQ Backend blogs.com/yuxl01/p/15978229.html