Users/Devs -

We have been kicking the tires on the dispatch router for a while and are 
building a number of working samples that we can use to build upon.  Currently, 
we have been working with using dispatch to work with distributed/durable 
topics.  The following basic configuration works for both a standalone and 
interior router network with 1 or more brokers (obviously with some changes) 
but we have it working if anyone is interested.   That being said, some of it 
isn’t making much sense; ie. not sure it should work…

First, shouldn’t their be a fixed address that maps to amq.topic?  Passing the 
exchange and routing-key seems to mix and match pre-1.0 and 1.0 semantics.  Is 
there another way to do that doesn’t expose the broker internals?

Second, creating a fixed address for every durable subscription at the router 
is onerous and just feels wrong (thinking of the use case where there are 
thousands of subscribers).

Also, noticed that the router creates a temporary subscription queue on the 
broker. Should it?  Why?

  queue                                     dur  autoDel  excl  msg   msgIn  
msgOut  bytes  bytesIn  bytesOut  cons  bind
  
=========================================================================================================================
  Qpid.Dispatch.Router.router01_amq.topic        Y        Y        0     0      
0       0      0        0         1     2

Last, the phase settings in the addresses aren’t well documented as to the 
impact of changing them.  Any insights into them would be great.

Thanks for the help,

Jack

Below is our current setup using; proton 0.8, dispatch 0.3 (trunk) and 
qpid-broker c++ 0.28.


## Setup the broker as such:
## qpid-config add queue myBarQ
## qpid-config add queue yourBarQ
## qpid-config bind amq.topic myBarQ *.bar
## qpid-config bind amq.topic yourBarQ *.bar
##
## spout --connection-options {protocol:amqp1.0} -b 0.0.0.0:5672 -c 1000 
amq.topic/foo.bar
## recv amqp://0.0.0.0:5672/myBarQ
## recv amqp://0.0.0.0:5672/yourBarQ


container {
    worker-threads: 4
    container-name: Qpid.Dispatch.Router.router01
}

ssl-profile {
    name: ssl-profile-name
}

listener {
    addr: 0.0.0.0
    port: 5672
    sasl-mechanisms: ANONYMOUS
    max-frame-size: 16384
}

connector {
    name: broker1
    role: on-demand
    addr: 10.64.242.218
    port: 5672
    sasl-mechanisms: ANONYMOUS
}

router {
    mode: standalone
    router-id: Mammut.router01
}

waypoint {
    address: amq.topic
    out-phase: 1
    in-phase: 0
    connector: broker1
}

waypoint {
    address: myBarQ
    out-phase: 1
    in-phase: 0
    connector: broker1
}

waypoint {
    address: yourBarQ
    out-phase: 1
    in-phase: 0
    connector: broker1
}

fixed-address {
    prefix: yourBarQ
    phase: 0
    fanout: single
    bias: spread
}

fixed-address {
    prefix: yourBarQ
    phase: 1
    fanout: single
    bias: closest
}
waypoint {
    address: myBarQ
    out-phase: 1
    in-phase: 0
    connector: broker1
}

fixed-address {
    prefix: myBarQ
    phase: 0
    fanout: single
    bias: spread
}

fixed-address {
    prefix: myBarQ
    phase: 1
    fanout: single
    bias: closest
}

Jack Gibson
Global Platform Services

[www.ebayinc.com.png]



Reply via email to