Librabbitmq is a popular and powerful open source message broker, the leading implementation of AMQP. It provides a robust and flexible messaging platform designed to interoperate with other messaging systems.
Librabbitmq 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)
Note: you need Erlang on OpenVMS in order to run RabbutMQ.
LibRabbitMQ ported to OpenVMS provides an API that can be used by OpenVMS-based software applications to exchange data via AMQP. It is based on C API originally developed by the RabbitMQ team and can be used with any OpenVMS 3GL (C/C++, Pascal, COBOL, FORTRAN, …). It can also use Ruby and Python clients 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
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