A popular and powerful open source message broker, the leading implementation of AMQP.
Librabbitmq provides a robust and flexible messaging platform designed to interoperate with other messaging systems. It has a multi-protocol broker engine implemented in 100% Erlang/OTP for exceptional scalability and fault-tolerance. It comprises the following components:
- The RabbitMQ broker:
- Natively supports AMQP 0.9.1
- Supports AMQP 1.0 via a plugin
- Adapters for HTTP, STOMP, MQTT, and several other protocols
- Client libraries for Erlang, Java, .NET, and C/C++
- Clients for numerous other languages available from other vendors and/or the open source community
- Python, Ruby, PHP, Clojure, Node.js, Go, Rust, COBOL, etc.
- Large assortment of useful plugins/extensions
- Provides scalability through clustering, high availability, management and monitoring, security, extensibility (via plugins)
LibRabbitMQ provides an API that can be used by OpenVMS-based software applications to exchange data with the RabbitMQ message broker (http://www.rabbitmq.com) via the Advanced Message Queuing Protocol (AMQP). LibRabbitMQ for VSI OpenVMS is based on the Open Source rabbitmq-c API and can be used with most 3GL programming languages available for OpenVMS, including C/C++, FORTRAN, COBOL, BASIC, and Pascal.
LibrabbitMQ is useful for enterprise integration platforms, applicable to a wide variety of enterprise integration scenarios. It is:
- Straightforward to integrate with legacy application code
- Can also be used with languages such as Ruby, Python, and Java on OpenVMS
There are tools using to simplify development of RabbitMQ clients:
- Generic consumer (loads and calls user-written functions in a shareable images)
- Scripting utility (useful for testing)
- Enhancements to WSIT to generate code for the RabbitMQ Java client