RabbitMQ Producer
The RabbitMQ Producer (also known as a publisher) is responsible for sending messages to RabbitMQ exchanges, which then route messages to one or more queues based on defined bindings.
RabbitMQ provides:
Reliable messaging with acknowledgments and durable queues.
Scalability with clustering and multiple queue types.
Flexible routing with multiple exchange types (direct, fanout, topic, headers).
The RabbitMQ Producer ensures reliable message-based communication and integrates seamlessly into pipelines for distributed, event-driven data flows.
Configuration Sections
All configurations are classified into the following sections:
Basic Information
Meta Information
Resource Configuration
Basic Information Tab
The Basic Information tab defines general execution and deployment parameters.
Invocation Type
Select execution mode: Batch or Real-Time.
Yes
Deployment Type
Displays the deployment type of the component (pre-selected).
Yes
Container Image Version
Displays the Docker image version used (pre-selected).
Yes
Failover Event
Select an event to handle failures.
Optional
Batch Size
Maximum number of records processed per cycle (minimum: 10).
Yes
Meta Information Tab
The Meta Information tab configures RabbitMQ connection details, queue/exchange settings, and routing behavior.
Connection Settings
Host
RabbitMQ server hostname or IP address.
Yes
Port
RabbitMQ server port (default: 5672).
Yes
Username
Username for authentication.
Yes
Password
Password for authentication.
Yes
Virtual Host
Logical grouping of RabbitMQ resources (queues, exchanges, bindings). Used to isolate applications.
Optional
Queue Settings
Queue
Destination queue where messages will be sent for consumption.
Yes
Query Type
Select queue type: Classic, Stream, or Quorum.
Yes
Classic: FIFO queue on a single node.
Stream: Distributed queue for high-throughput, parallel processing.
Quorum: Replicated queue across nodes for durability and reliability.
Exchange Settings
Exchange
Name of the RabbitMQ exchange that routes messages.
Yes
Exchange Type
Select routing type: Direct, Fanout, Topic, or Headers.
Yes
Direct Exchange
Routes messages to queues based on exact match between publish key and binding key.
Required fields: Bind Key, Publish Key.
Fanout Exchange
Broadcasts messages to all bound queues without considering keys.
Required fields: Bind Key, Publish Key.
Topic Exchange
Routes messages based on routing patterns and wildcards (
*
,#
).Required fields: Bind Key, Publish Key.
Headers Exchange
Routes messages based on header attributes.
Required fields: X-Match, Binding Headers, Publishing Headers.
X-Match
Determines header matching logic.
Any
(match at least one header), All
(match all headers).
Binding Headers
Key-value pairs that define header conditions for routing.
User-defined
Publishing Headers
Key-value pairs attached to published messages.
User-defined
Saving the Configuration
Configure connection, queue, and exchange details in the Meta Information tab.
Click Save Component (Storage icon).
A success message confirms the configuration.
Activate the pipeline to begin publishing messages.
Example Workflow
Configure RabbitMQ Producer with:
Host:
rabbitmq-server.local
Port:
5672
Username:
pipeline_user
Queue:
transaction_queue
Exchange:
transaction_exchange
Exchange Type:
Topic
Publish Key:
transactions.completed
Binding Key:
transactions.*
Connect an input event carrying processed transaction data.
Activate the pipeline.
Messages are published to the transaction_exchange and routed to queues subscribed to the
transactions.*
pattern.