RabbitMQ es un software de negociación de mensajes de código abierto que funciona como un middleware de mensajerÃa. Implementa el estándar Advanced Message Queuing Protocol (AMQP). El servidor RabbitMQ está escrito en Erlang y utiliza el framework Open Telecom Platform (OTP) para construir sus capacidades de ejecución distribuida y conmutación ante errores. Rabbit Technologies Ltd., la compañÃa que lo desarrolla, fue adquirida en abril de 2010 por la división SpringSource de VMWare. A partir de este momento, es esta última compañÃa la que desarrolla y da soporte para RabbitMQ.[1]​ El código fuente está liberado bajo la licencia Mozilla Public License. A partir de mayo de 2013, por una unión de empresas, Pivotal es el nuevo patrocinador del proyecto[2]​
Partes del software
El proyecto RabbitMQ consta de diferentes partes:
- El servidor de intercambio RabbitMQ, que recibe los mensajes y los almacena en colas de intercambio. Los clientes podrán después recuperarlos.
- Pasarelas para los protocolos HTTP, XMPP y STOMP.
- Bibliotecas de clientes para Java, framework .NET y Python.
- El plugin Shovel (en inglés: pala) que se encarga de replicar mensajes entre corredores de mensajes.
Ejemplos
Esta sección da ejemplos de uso en Python (usando el paquete Pika) para un emisor y un receptor de mensajes.
Emisor
El siguiente fragmento de código establece la conexión, se asegura de que la cola de mensajes existe, envÃa el mensaje y finalmente cierra la conexión.
Receptor
Similarmente, el siguiente programa recibe el mensaje y lo imprime en pantalla:
Véase también
- Advanced Message Queuing Protocol
Referencias
- Joern Barthel (13 de septiembre de 2009). «Getting started with AMQP and RabbitMQ» (en inglés). InfoQ. Consultado el 19 de mayo de 2010.Â
- Peter Cooper (9 de abril de 2009). «RabbitMQ - A Fast, Reliable Queuing Option for Rubyists» (en inglés). RubyInside. Consultado el 19 de mayo de 2010.Â
- «RabbitMQ: An Open Source Messaging Broker That Just Works» (en inglés). Google Tech Talks. 25 de septiembre de 2008. Consultado el 19 de mayo de 2010.Â