[
https://issues.apache.org/jira/browse/DISPATCH-1337?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16844346#comment-16844346
]
Justin Ross commented on DISPATCH-1337:
---------------------------------------
"If not might it be better to have a config that presents them as
alternatives?" Very much agree.
What does "alternate: yes" mean on an address? What does it then mean on an
autoLink? They seem to mean different things, but they are rendered
identically in the config file.
How are alternate-capable addresses associated with autoLinks? A shared
prefix, plus having "alternate: yes" at the same time? If so, can I have many
such matches? If I can have many, how are messages distributed among them?
If you cannot have multiple matches, then some more explicit connection to the
alternate address would make sense to me: have the main address name its
alternate address. (And perhaps even consider naming a list of alternate
addresses.)
"Alternate" has the meaning "alter*nate*" (as in, alternating between two
paths), and in the specification of this you do indeed have some alternation -
when draining, between the main address and the backup one. Perhaps a
different word that avoids this collision: a "backup" or "fallback" address.
> Alternate Destination for Unreachable Addresses
> -----------------------------------------------
>
> Key: DISPATCH-1337
> URL: https://issues.apache.org/jira/browse/DISPATCH-1337
> Project: Qpid Dispatch
> Issue Type: New Feature
> Components: Router Node
> Reporter: Ted Ross
> Assignee: Ted Ross
> Priority: Major
> Fix For: 1.8.0
>
>
> This feature allows addresses to be configured such that an alternate
> destination can be used to receive messages that are not deliverable to any
> normal consumers on the address.
> Typically, this feature will be used to allow a message broker to store
> messages that are not routable directly to consumers. When one or more
> consumers are attached in the router network, messages shall be delivered
> directly to the consumers. Where there are no reachable consumers,
> deliveries shall then be diverted to the alternate destination. Once
> consumers re-connect to the network, messages shall again be delivered
> directly.
> When a consumer comes online after messages have been stored in a broker, it
> shall receive the stored messages interleaved with new messages from
> producers. No attempt shall be made by the router network to preserve the
> original delivery order of the messages.
> This feature can be configured by adding the attribute
> {noformat}
> alternate: yes
> {noformat}
> to an address configuration. This attribute tells the router that any address
> matching the configuration that appears shall support the alternate
> destination capability.
> There are two ways to create an alternate destination for an address:
> Using auto-links:
> An auto-link (or a pair of auto-links) can be configured to create an
> alternate waypoint for an address. For example, assume that there is a
> route-container connector or listener for a broker called "alternate-broker".
> {noformat}
> address {
> prefix: position_update
> alternate: yes
> }
> autoLink {
> address: position_update.338
> direction: in
> connection: alternate-broker
> alternate: yes
> }
> autoLink {
> address: position_update.338
> direction: out
> connection: alternate-broker
> alternate: yes
> }
> {noformat}
> The above configuration will use a queue on the broker called
> "position_update.338" as the alternate destination for direct consumers.
> Furthermore, since there are both _in_ and _out_ auto-links, the router(s)
> shall send queued messages to newly attached direct consumers.
> Using terminus capabilities:
> As an alternative to using auto-links, the broker (or any other process) can
> attach sending and receiving links to the address with terminus-capability
> "qd.alternate". This will create the same behavior as the above example.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]