ConejoMQ

Broker de mensajes de código abierto, a veces denominado "Rabbit"
ConejoMQ
Desarrollador(es)VMware
Versión estable
4.0.0 / 18 de septiembre de 2024 ; hace 13 días ( 18/09/2024 )
Repositoriogithub.com/rabbitmq
Escrito enErlang
Sistema operativoMultiplataforma
TipoAMQP , middleware orientado a mensajes
LicenciaLicencia pública de Mozilla
Sitio webwww.rabbitmq.com

RabbitMQ es un software de intermediación de mensajes de código abierto (a veces llamado middleware orientado a mensajes ) que originalmente implementó el Protocolo de cola de mensajes avanzado (AMQP) y desde entonces se ha ampliado con una arquitectura de complemento para admitir el Protocolo de mensajería orientada a texto en tiempo real (STOMP), el Transporte de telemetría MQ (MQTT) y otros protocolos. [1]

El servidor RabbitMQ está escrito en Erlang y se basa en el marco de trabajo Open Telecom Platform para la agrupación en clústeres y la conmutación por error. Las bibliotecas de cliente para interactuar con el agente están disponibles para todos los lenguajes de programación principales. El código fuente se publica bajo la licencia pública de Mozilla .

Desde noviembre de 2020, hay ofertas comerciales disponibles de RabbitMQ para soporte y funciones empresariales: "VMware RabbitMQ OVA", "VMware RabbitMQ" y "VMware RabbitMQ for Kubernetes" (diferentes niveles de funciones) [2] RabbitMQ de código abierto también está empaquetado por Bitnami [3] y comercialmente para Tanzu Application Service de VMware.

Historia

Originalmente desarrollado por Rabbit Technologies Ltd., que comenzó como una empresa conjunta entre LShift y CohesiveFT en 2007, [4] RabbitMQ fue adquirido en abril de 2010 por SpringSource , una división de VMware . [5] El proyecto pasó a formar parte de Pivotal Software en mayo de 2013. [6] Que luego fue adquirido nuevamente por VMWare en diciembre de 2019. [7]

El proyecto consiste en:

  • El servidor de intercambio RabbitMQ
  • Pasarelas para protocolos AMQP , HTTP , STOMP y MQTT
  • Bibliotecas de cliente AMQP para Java , .NET Framework y Erlang. (Existen clientes AMQP para otros lenguajes disponibles de otros proveedores).
  • Una plataforma de complementos para extensibilidad, con una colección predefinida de complementos compatibles, que incluye:
    • Un complemento "Shovel" que se encarga de mover o copiar (replicar) mensajes de un broker a otro.
    • Un complemento de "Federación" que permite compartir mensajes de manera eficiente entre corredores (a nivel de intercambio).
    • Un complemento de "Gestión" que permite la supervisión y el control de corredores y grupos de corredores.

Ejemplos

Esta sección proporciona programas de muestra escritos en Python (usando el paquete pika ) para enviar y recibir mensajes usando una cola.

Envío

El siguiente fragmento de código establece una conexión, se asegura de que la cola de destinatarios exista, luego envía un mensaje y finalmente cierra la conexión.

#!/usr/bin/env python3 importa  pikaconexión  =  pika . BlockingConnection ( pika . ConnectionParameters ( host = "localhost" )) canal  =  conexión . canal () canal . queue_declare ( cola = "hola" ) canal . basic_publish ( exchange = "" ,  route_key = "hola" ,  cuerpo = "¡Hola mundo!" ) print ( "[x] Se envió '¡Hola mundo!'" ) conexión . close ()

Recepción

De manera similar, el siguiente programa recibe mensajes de la cola y los imprime en la pantalla: (Nota: este ejemplo no confirma la recepción del mensaje).

#!/usr/bin/env python3 importa  pikadef  callback ( ch ,  método ,  propiedades ,  cuerpo ):  print ( " [x] Recibido %r "  %  cuerpo )connection  =  pika . BlockingConnection ( pika . ConnectionParameters ( host = "localhost" )) channel  =  connection . channel () channel . queue_declare ( queue = "hello" ) print ( " [*] Esperando mensajes. Para salir, presione Ctrl+C" ) channel . basic_consume ( queue = "hello" ,  on_message_callback = callback ) channel . start_ducing ()

Calendario de fin de soporte[8]

LiberarLiberadoApoyo comunitarioSoporte comercial ampliadoEl último
3.1322 de febrero de 2024Próximo lanzamientoFinaliza el 31 de diciembre de 20273.13.6

(23 de julio de 2024)

3.1201 de junio de 2023Finaliza el 22 de febrero de 2024Finaliza el 30 de junio de 20253.12.14

(6 de mayo de 2024)

3.1126 de septiembre de 2022Finalizó el 2 de junio de 2023Finaliza el 30 de junio de 20243.11.28

(22 de diciembre de 2023)

3.103 de mayo de 2022Finalizó el 31 de julio de 2023Finalizó el 31 de diciembre de 20233.10.25

(17 de julio de 2023)

3.923 de julio de 2021Finalizó el 31 de enero de 2023Finalizó el 31 de julio de 20233.9.29
3.801 de octubre de 2019Finalizó el 31 de julio de 2022Finalizó el 31 de julio de 20223.8.35
3.728 de noviembre de 2017Finalizó el 30 de septiembre de 2020Finalizó el 30 de septiembre de 20203.7.28
3.622 de diciembre de 2015Finalizó el 31 de mayo de 2018Finalizó el 31 de mayo de 20183.6.16
3.511 de marzo de 2015Finalizó el 31 de octubre de 2016Finalizó el 31 de octubre de 20163.5.8
3.421 de octubre de 2014Finalizó el 31 de octubre de 2015Finalizó el 31 de octubre de 20153.4.4
3.302 de abril de 2014Finalizó el 31 de marzo de 2015Finalizó el 31 de marzo de 20153.3.5
3.223 de octubre de 2013Finalizó el 31 de octubre de 2014Finalizó el 31 de octubre de 20143.2.4
3.11 de mayo de 2013Finalizó el 30 de abril de 2014Finalizó el 30 de abril de 20143.1.5
3.019 de noviembre de 2012Finalizó el 30 de noviembre de 2013Finalizó el 30 de noviembre de 20133.0.4

Véase también

Referencias

  1. ^¿ Qué protocolos admite RabbitMQ?
  2. ^ "VMware RabbitMQ" . Consultado el 5 de mayo de 2023 .
  3. ^ "RabbitMQ". bitnami.com . Consultado el 8 de mayo de 2023 .
  4. ^ "Lanzamiento de RabbitMQ Open Source Enterprise Messaging" (PDF) . Nota de prensa . 8 de febrero de 2007 . Consultado el 23 de octubre de 2013 .
  5. ^ "Rabbit Technologies anuncia la adquisición por parte de SpringSource". Nota de prensa . 13 de abril de 2010. Archivado desde el original el 18 de abril de 2010 . Consultado el 3 de octubre de 2013 .
  6. ^ "Orgullosamente parte de Pivotal". Nota de prensa . 14 de mayo de 2010. Archivado desde el original el 2 de junio de 2013 . Consultado el 3 de octubre de 2013 .
  7. ^ "VMware completa la adquisición de Pivotal". VMware News and Stories . Consultado el 6 de abril de 2023 .
  8. ^ "Información de lanzamiento de RabbitMQ" . Consultado el 10 de junio de 2023 .

Lectura adicional

  • Joern Barthel (13 de septiembre de 2009). "Introducción a AMQP y RabbitMQ". InfoQ.
  • Peter Cooper (9 de abril de 2009). "RabbitMQ: una opción de cola rápida y confiable para los usuarios de Ruby". RubyInside.
  • RabbitMQ: un agente de mensajería de código abierto que simplemente funciona. Google Tech Talks. 25 de septiembre de 2008.
  • Sitio web oficial
Obtenido de "https://es.wikipedia.org/w/index.php?title=RabbitMQ&oldid=1246389135"