qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ted Ross <tr...@redhat.com>
Subject Re: Documentation questions on qpid dispatch router
Date Tue, 02 Jun 2015 14:52:42 GMT
On 06/02/2015 07:09 AM, Noel OConnor wrote:
> Hi,
> I'm going through the docs for the dispatch router and I've a few basic
> questions around entries the qdrouterd.conf file
> [1] In the router sections a router can have a mode of endpoint but this
> mode isn't explained.

The "endpoint" mode is not relevant to the actual router.  It is there 
to support another project that uses the dispatch library as a 
dependency.  This should be removed from the docs/config-spec.

> [2] In the listener and connector sections, they both can have roles which
> are on-demand. Does this mean these listeners and connectors are
> started/stopped arbitrarily and is there some sort of config for this ?

The on-demand role is only meaningful for connectors.  It means that the 
outgoing connection is only established when it is needed.  On demand 
connectors are indexed by a name and the name can be used in either a 
waypoint or a linkRoutePattern.  Both waypoints and linkRoutePatterns 
can have an external container (e.g. a broker) associated with them.

LinkRoutePatterns establish the on-demand connection at startup. 
Waypoints are supposed to establish the connection only when there are 
subscriptions from or messages sent to the connected container.

> [3] The waypoints and fixed addresses have a phase element. Is the phase
> concept explained somewhere ?

These are probably not sufficiently explained.  Also, waypoints are 
somewhat experimental.  We plan to improve them and make them easier to 

The phase concept is key to waypoints because waypoints define a 
multi-segment path for an address.  For example, a waypoint can 
represent a queue on a broker.  There are two routing paths for this 
queue:  messages flowing _to_ the queue, and messages flowing _from_ the 
queue.  Messages to the queue are phase 0 and messages from the queue 
are phase 1.

Please note that the address phases are not visible to endpoints using 
the router network.  They are only used internally to route messages 
from endpoint to waypoint (to other waypoints) and to consumers.

> [4] The differences between linkRoutePattern and Waypoint seem subtle (at
> least to me). When would you use one over the other ?

Both of these features are used to provide remote (cross-network) access 
to things like brokers, but they do it in fundamentally different ways.

Link routing does the routing at the time the link is attached (like a 
virtual circuit to a remote queue).  Waypoints do the routing on each 
individual message.

Link routing provides the full link protocol across the network (i.e. 
flow control, message settlement, etc.).  Waypoints provide a way to 
implement distributed queues (i.e. messages sent to the nearest waypoint 
or spread across multiple waypoints with the same address).

If the link protocol is important (high-resolution flow control, 
reliable messaging/exactly-once, transactions, strictly in-order 
delivery), then link-routing is the appropriate choice.  If these are 
less important, waypoints can provide a more flexible way to provide 
scale and elasticity.

> thanks for your help
> regards
> Noel

To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org

View raw message