qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bacon <ba...@grimm-co.com>
Subject Re: Dynamic routing between disconnected exchanges
Date Thu, 12 Sep 2013 14:49:32 GMT
Output of qpid-config exchanges -r  …

>From A: 

Exchange '' (direct)
    bind [bbdae4e2-0430-4742-a807-15ace7783f27:0.0] => bbdae4e2-0430-4742-a807-15ace7783f27:0.0
    bind [A] => A
    bind [qpid.bridge_queue_qpid.tcp:192.168.0.2:5672!test-topic!test-topic!_d7ea0855-a1db-451a-bb72-ec61814db3ee]
=> qpid.bridge_queue_qpid.tcp:192.168.0.2:5672!test-topic!test-topic!_d7ea0855-a1db-451a-bb72-ec61814db3ee
Exchange 'amq.direct' (direct)
Exchange 'amq.fanout' (fanout)
Exchange 'amq.match' (headers)
Exchange 'amq.topic' (topic)
Exchange 'test-topic' (topic)
    bind [A] => A
    bind [B] => qpid.bridge_queue_qpid.tcp:192.168.0.2:5672!test-topic!test-topic!_d7ea0855-a1db-451a-bb72-ec61814db3ee
{u'qpid.replicate': u'none', u'qpid.fed.origin': u'd7ea0855-a1db-451a-bb72-ec61814db3ee',
u'qpid.fed.op': u'B', u'qpid.fed.tags': u'd7ea0855-a1db-451a-bb72-ec61814db3ee'}
Exchange 'qmf.default.direct' (direct)
Exchange 'qmf.default.topic' (topic)
    bind [direct.84b0aac3-1a88-4b49-b8b6-5861299aaded] => bbdae4e2-0430-4742-a807-15ace7783f27:0.0
Exchange 'qpid.management' (topic)


>From B:

Exchange '' (direct)
    bind [0eada2e3-a87a-42dc-9dd6-795599ee713c:0.0] => 0eada2e3-a87a-42dc-9dd6-795599ee713c:0.0
    bind [B] => B
    bind [qpid.bridge_queue_qpid.tcp:192.168.0.1:5672!test-topic!test-topic!_d7ea0855-a1db-451a-bb72-ec61814db3ee]
=> qpid.bridge_queue_qpid.tcp:192.168.0.1:5672!test-topic!test-topic!_d7ea0855-a1db-451a-bb72-ec61814db3ee
    bind [qpid.bridge_queue_qpid.tcp:192.168.1.2:5672!test-topic!test-topic!_d7ea0855-a1db-451a-bb72-ec61814db3ee]
=> qpid.bridge_queue_qpid.tcp:192.168.1.2:5672!test-topic!test-topic!_d7ea0855-a1db-451a-bb72-ec61814db3ee
Exchange 'amq.direct' (direct)
Exchange 'amq.fanout' (fanout)
Exchange 'amq.match' (headers)
Exchange 'amq.topic' (topic)
Exchange 'test-topic' (topic)
    bind [B] => B
    bind [A] => qpid.bridge_queue_qpid.tcp:192.168.0.1:5672!test-topic!test-topic!_d7ea0855-a1db-451a-bb72-ec61814db3ee
{u'qpid.replicate': u'none', u'qpid.fed.origin': u'd7ea0855-a1db-451a-bb72-ec61814db3ee',
u'qpid.fed.op': u'B', u'qpid.fed.tags': u'd7ea0855-a1db-451a-bb72-ec61814db3ee'}
    bind [C] => qpid.bridge_queue_qpid.tcp:192.168.1.2:5672!test-topic!test-topic!_d7ea0855-a1db-451a-bb72-ec61814db3ee
{u'qpid.replicate': u'none', u'qpid.fed.origin': u'd7ea0855-a1db-451a-bb72-ec61814db3ee',
u'qpid.fed.op': u'B', u'qpid.fed.tags': u'd7ea0855-a1db-451a-bb72-ec61814db3ee'}
Exchange 'qmf.default.direct' (direct)
Exchange 'qmf.default.topic' (topic)
    bind [direct.11ec68b2-a11a-40f9-b9dd-8eb58352329c] => 0eada2e3-a87a-42dc-9dd6-795599ee713c:0.0
Exchange 'qpid.management' (topic)

>From C:

Exchange '' (direct)
    bind [991fc38f-2e1e-4efd-a60d-8725a21b4360:0.0] => 991fc38f-2e1e-4efd-a60d-8725a21b4360:0.0
    bind [C] => C
    bind [qpid.bridge_queue_qpid.tcp:192.168.1.1:5672!test-topic!test-topic!_d7ea0855-a1db-451a-bb72-ec61814db3ee]
=> qpid.bridge_queue_qpid.tcp:192.168.1.1:5672!test-topic!test-topic!_d7ea0855-a1db-451a-bb72-ec61814db3ee
Exchange 'amq.direct' (direct)
Exchange 'amq.fanout' (fanout)
Exchange 'amq.match' (headers)
Exchange 'amq.topic' (topic)
Exchange 'test-topic' (topic)
    bind [C] => C
    bind [B] => qpid.bridge_queue_qpid.tcp:192.168.1.1:5672!test-topic!test-topic!_d7ea0855-a1db-451a-bb72-ec61814db3ee
{u'qpid.replicate': u'none', u'qpid.fed.origin': u'd7ea0855-a1db-451a-bb72-ec61814db3ee',
u'qpid.fed.op': u'B', u'qpid.fed.tags': u'd7ea0855-a1db-451a-bb72-ec61814db3ee'}
Exchange 'qmf.default.direct' (direct)
Exchange 'qmf.default.topic' (topic)
    bind [direct.aa8e0d92-7bbf-4784-8c66-14a2cf6d9379] => 991fc38f-2e1e-4efd-a60d-8725a21b4360:0.0
Exchange 'qpid.management' (topic)




Outout of qpid-stat -e on A after trying to send a message to b and then c

Exchanges
  exchange            type     dur  bind  msgIn  msgOut  msgDrop  byteIn  byteOut  byteDrop
  ===========================================================================================
                      direct           3     0      0       0        0       0        0
  amq.direct          direct   Y       0    76     76       0     34.7k   34.7k       0
  amq.fanout          fanout   Y       0     0      0       0        0       0        0
  amq.match           headers  Y       0     0      0       0        0       0        0
  amq.topic           topic    Y       0     0      0       0        0       0        0
  test-topic        topic            2     3      2       1       12       8        4  <---
(drop is 1 after attempt to sent to c) 
  qmf.default.direct  direct           0     9      9       0     2.40k   2.40k       0
  qmf.default.topic   topic            1   333      7     326      255k   17.2k     238k
  qpid.management     topic            0     0      0       0        0       0        0


Thought: It seems that A doesn't know anything a about C or c so it drops the message... could
this have something to do with using a topic exchange? Or should B be telling A what it knows
about C (but isn't)? 

Thanks,
  -Andrew




On Sep 11, 2013, at 5:18 PM, "Ted Ross [via Qpid]" <ml-node+s2158936n7598110h87@n2.nabble.com>
wrote:

> 
> On 09/11/2013 04:39 PM, bacon wrote:
> 
> > Let me start by saying that I am almost certainly missing some important 
> > detail on how exchanges/dynamic routes work. With that said, here is what I 
> > am trying to do with qpid-cpp-0.24: 
> > 
> > I have 3 exchanges on three machines, lets call the A, B and C. Each with 
> > bound queues a, b and c 
> > 
> > A has bidirectional dynamic routes with B 
> > B has bidirectional dynamic routes with C 
> > 
> > node A has no network connectivity with node C (only A <-> B and B<->
C) 
> > 
> > What I want to do is to introduce a message on exchange A with destination c 
> > and have the message first routed to B and then onto exchange C and queue c.
> 
> What you are attempting should work. 
> 
> > 
> > The network setup: 
> > 
> > A <-192.168.0.2/24 ------- 192.268.0.1/24 -> B <- 192.168.1.2/24  -------

> > 192.168.1.1/24 -> 
> > 
> > The qpidd setup: 
> > 
> > On each: 
> > ./qpid-config add exchange topic test-topic 
> > ./qpid-config add queue A/B/C 
> > ./qpid-config bind test-topic A/B/C A/B/C 
> > 
> > on A: 
> > ./qpid-route -v dynamic add 192.168.0.1 192.168.0.2  test-topic 
> > ./qpid-route -v dynamic add 192.168.0.2 192.168.0.1  test-topic 
> > 
> > 
> > on B 
> > ./qpid-route -v dynamic add 192.168.1.1 192.168.1.2  test-topic 
> > ./qpid-route -v dynamic add 192.168.1.2 192.168.1.1  test-topic
> 
> It would be helpful to see the output of "qpid-config exchanges -r" on 
> broker B (the middle one).  This will show how the bindings have 
> arranged themselves. 
> 
> Actually, post the output for all three brokers. 
> 
> > 
> > 
> > I can send messages from A to B (and b) as well as B to C (and c) but every 
> > message I send to c from A gets dropped which says to me that A is never 
> > being informed of the queue on C via B. 
> > 
> > A route map is similarly puzzling: 
> 
> Don't worryabout route-map.  It's connecting to one broker and 
> attempting to get the addresses of all the connected brokers.  Since C 
> is not reachable, route-map won't be able to query it.  This has no 
> bearing on the way messages flow. Route-map might work if run from B 
> since B has connectivity to all the brokers. 
> 
> > 
> > [root@A bin]# ./qpid-route route map localhost 
> > 
> > Finding Linked Brokers: 
> >      localhost:5672... Ok 
> >      192.168.0.1:5672... Ok 
> >      192.168.0.2:5672... Ok 
> >      192.168.1.1:5672... [Errno 110] Connection timed out 
> >      192.168.1.1:5672... [Errno 110] Connection timed out 
> > 
> > Dynamic Routes: 
> > 
> >    Exchange test-topic: 
> >      192.168.0.1:5672  => localhost:5672 
> >      192.168.0.2:5672 <=> 192.168.0.1:5672 
> >      192.168.1.1:5672  => 192.168.0.1:5672 
> > 
> > Static Routes: 
> >    none found 
> > 
> > 
> > This says to me that the IP address of C is being sent to A via B.. which, 
> > as I understand dynamic routes, should not happen (because I'm not doing 
> > routing between them). 
> > 
> > Any help would be greatly appreciated. I believe that this should be 
> > possible and I think there is some fundamental concept that I'm missing but 
> > I am stuck at the moment. 
> > 
> > Thanks! 
> >   --Andrew 
> > 
> > 
> > 
> > -- 
> > View this message in context: http://qpid.2158936.n2.nabble.com/Dynamic-routing-between-disconnected-exchanges-tp7598100.html
> > Sent from the Apache Qpid users mailing list archive at Nabble.com. 
> > 
> > --------------------------------------------------------------------- 
> > To unsubscribe, e-mail: [hidden email] 
> > For additional commands, e-mail: [hidden email] 
> >
> 
> 
> --------------------------------------------------------------------- 
> To unsubscribe, e-mail: [hidden email] 
> For additional commands, e-mail: [hidden email] 
> 
> 
> 
> If you reply to this email, your message will be added to the discussion below:
> http://qpid.2158936.n2.nabble.com/Dynamic-routing-between-disconnected-exchanges-tp7598100p7598110.html
> To unsubscribe from Dynamic routing between disconnected exchanges, click here.
> NAML



signature.asc (858 bytes) <http://qpid.2158936.n2.nabble.com/attachment/7598133/0/signature.asc>




--
View this message in context: http://qpid.2158936.n2.nabble.com/Dynamic-routing-between-disconnected-exchanges-tp7598100p7598133.html
Sent from the Apache Qpid users mailing list archive at Nabble.com.
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message