qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gibson, Jack" <jagib...@paypal.com.INVALID>
Subject Dispatch Router (distributed topics)
Date Wed, 13 Aug 2014 03:20:36 GMT
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]




Mime
  • Unnamed multipart/related (inline, None, 0 bytes)
View raw message