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.
In RabbitMQ, messages are published to an exchange and depending on the type of exchange, the message gets routed to one or more queues
TOPIC, DIRECT, FANOUT, HEADERS
Default: TOPIC
arguments
Additional binding properties
Map<String, Object>
Default: null
Exchange example
Routing attributes schema
Attribute
Description
Data Type
Required
keys
Consumers can selectively consume events sent to a topic exchange by specifying one or more words delimited by dots. Learn more about how to apply it here.
Valid key format examples: 'nasdaq.ibm', 'dept.inventory.bolts'.
There are two important special cases to define keys:
*(star) can be substituted for exactly one word
#(hash) can be substituted for zero or more words
String
Default: All
Constraints: Any number of dot separated words to a limit of 255 bytes
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: