RabbitMQ
AMQP messaging solution ideal for IoT and client / server use cases
Overview
RabbitMQ is a lightweight and easy-to-deploy messaging platform that supports multiple messaging protocols. It can be configured in distributed and federated setups to meet high-scale and high-availability requirements.
Joule enables publishing to RabbitMQ queues, exchanges and topics, providing flexible event-driven architectures.
Additionally, the page highlights the usage of Joule to consume events via RabbitMQ messaging subscriptions.
Client library: com.rabbitmq:amqp-client:5.16.0
Examples & DSL attributes
This example shows how to configure a RabbitMQ consumer that subscribes to specific event types using routing keys with a topic exchange.
The consumer listens for events related to quotes for specific stocks (IBM, MSFT and GOOG) from the marketQuotes
exchange.
The events are deserialised from a StreamEvent
JSON object into a Joule StreamEvent
object using a custom parser.
Attributes schema
Exchange attributes schema
Exchange example
Routing attributes schema
Routing example
This example will subscribe to all events that match the first component of the key 'NASDAQ'
Additional resources
Further AMQP resources can be found on the following links:
Official RabbitMQ documentation
CloudAMQP documentation
Last updated