Descripción general de RabbitMQ 01

¿Qué es la cola de mensajes?

Al realizar una gran cantidad de llamadas remotas, el método HTTP tradicional es fácil de bloquear, por lo que se introduce el concepto de cola de mensajes , es decir, poner en cola mensajes y consumirlos según la cola.

Puede poner la información enviada por el remitente en la cola. Cuando se agrega un nuevo mensaje a la cola, se notificará al receptor para su procesamiento. Generalmente, el remitente del mensaje se llama productor y el receptor se llama consumidor .

De esta manera, todas las solicitudes se pueden enviar a la cola de mensajes y luego el consumidor las elimina, en lugar de conectarse directamente al consumidor, se agrega un middleware, que es una buena solución de desacoplamiento. Y en el caso de alta concurrencia, debido a las capacidades limitadas del consumidor, la cola de mensajes también puede desempeñar un papel en la reducción de picos y el llenado de valles , acumulando una parte de las solicitudes, y luego los consumidores las procesarán lentamente, en lugar de haciendo solicitudes como llamadas directas, enjambres de personas.

componente de cola de mensajes

ActiveMQ, RabbitMQ, RocketMQ y Kafka son actualmente los componentes principales de la cola de mensajes. Sus características son las siguientes:

Según los factores anteriores, se elige RabbitMQ como componente de la cola de mensajes para la demostración. Este es el por qué:

  • Aunque el rendimiento no es alto, es completamente suficiente para proyectos pequeños y medianos.
  • Fuerte puntualidad. La latencia alcanza un nivel sutil, la latencia más baja en comparación con productos similares.
  • Alta usabilidad. Proporciona un mecanismo de implementación completo de alta disponibilidad.
  • Gran fiabilidad. Básicamente no hay pérdida de paquetes.
  • Fuertes capacidades de concurrencia. Desarrollado en base a Erlang, proporciona funciones de conmutación enriquecidas con buen rendimiento y baja latencia.
  • Código abierto y gratuito. No hay costo de uso, la comunidad es muy activa y el producto es estable.

Las funciones e implementaciones de los componentes de la cola de mensajes son similares. Si aprende bien un componente, puede saberlo todo. También existen componentes de conexión de la cola de mensajes como Spring Cloud Stream, que pueden proteger las diferencias entre los componentes de la cola de mensajes y utilizar estándares unificados. Llame al componente de la cola de mensajes.

Por lo tanto, si desea dominar la cola de mensajes, comenzar con RabbitMQ es una mejor opción.

ConejoMQ

Sitio web oficial: https://www.rabbitmq.com

RabbitMQ es un software de intermediación de mensajes de código abierto (también conocido como middleware orientado a mensajes) que implementa el protocolo avanzado de cola de mensajes ( AMQP ). El servidor RabbitMQ está escrito en el lenguaje Erlang , mientras que la agrupación en clústeres y la conmutación por error se basan en el marco de la plataforma abierta de telecomunicaciones . Todos los lenguajes de programación principales tienen bibliotecas cliente que se comunican con interfaces proxy.

Rabbit Technologies Ltd. desarrolla y brinda soporte para RabbitMQ.

  • Inicialmente, Rabbit Technology era una empresa conjunta establecida en 2007 entre LSHIFT y CohesiveFT.
  • En abril de 2010, fue adquirida por SpringSource, una subsidiaria de VMware.
  • RabbitMQ pasó a formar parte de GoPivotal en mayo de 2013.

Sus características son las siguientes:

  • Con decenas de miles de usuarios, RabbitMQ es una de las colas de mensajes de código abierto más populares, utilizada globalmente por pequeñas empresas emergentes y grandes empresas, desde T-Mobile hasta Runtastic.
  • Ligero y fácil de implementar localmente y en la nube, admite múltiples protocolos de mensajería.
  • Se puede implementar en configuraciones distribuidas y federadas para cumplir con requisitos de alta disponibilidad a gran escala.
  • Se ejecuta en muchos sistemas operativos y entornos de nube y proporciona una amplia gama de herramientas de desarrollo para los lenguajes más populares .

proceso de trabajo:

  • Productor (Editor) : El terminal que produce mensajes.
  • Canal : Tanto las conexiones del servidor como del cliente usan un Canal y luego usan el Canal para acceder al servidor RabbitMQ. El protocolo de comunicación aquí no es http, sino el protocolo amqp.
  • Host virtual : similar al aislamiento del entorno, un host virtual se puede configurar por separado en diferentes entornos. Cada host virtual puede contener muchos intercambios y colas, y cada host virtual no se afecta entre sí.
  • Exchange : Según la solicitud, se reenvía a la cola de mensajes correspondiente. Cada cola se puede vincular a Exchange, de modo que Exchange pueda reenviar datos a la cola. Puede haber muchas y se pueden usar diferentes tipos de Exchange para la implementación. de diferentes mensajes.
  • Cola de mensajes (cola) : la cola de mensajes en sí. Todos los mensajes de los productores se almacenan en la cola de mensajes, esperando que los consumidores los saquen.
  • Consumidor : Terminal que consume mensajes.

Supongo que te gusta

Origin blog.csdn.net/qq_37770674/article/details/130436842
Recomendado
Clasificación