Chapter 11. Fanout Protocol


Abstract

The fanout protocol allows clients to connect to multiple brokers at once and broadcast messages to consumers connected to all of the brokers at once.

URI syntax

Example 11.1, “Fanout URI Syntax” shows the syntax for a fanout URI.

Example 11.1. Fanout URI Syntax

fanout://(DiscoveryAgentUri)?Options
DiscoveryAgentUri is URI for the discovery agent used to build up the list of available brokers. The available discovery agents are listed in Chapter 12, Discovery Agents.
The options, ?Options, are specified in the form of a query list. The discovery options are described in Table 11.1, “Fanout Protocol Options”. You can also inject transport options into the discovered transports by adding their properties to the list.
Note
If no options are required, you can drop the parentheses from the URI. The resulting URI would take the form fanout://DiscoveryAgentUri

Transport options

The fanout protocol supports the transport options described in Table 11.1, “Fanout Protocol Options”.
Table 11.1. Fanout Protocol Options
Option NameDefaultDescription
initialReconnectDelay 10Specifies, in milliseconds, how long the transport will wait before the first reconnect attempt.
maxReconnectDelay 30000Specifies, in milliseconds, the maximum amount of time to wait between reconnect attempts.
useExponentialBackOff trueSpecifies if an exponential back-off is used between reconnect attempts.
backOffMultiplier 2Specifies the exponent used in the exponential back-off algorithm.
maxReconnectAttempts 0Specifies the maximum number of reconnect attempts before an error is sent back to the client. 0 specifies unlimited attempts.
fanOutQueues falseSpecifies whether queue messages are replicated to every connected broker.
minAckCount 2Specifies the minimum number of brokers to which the client must connect before it sends out messages.
Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.