Hello, I am just getting started with AMQP and qpid so please let me know if I am making any newbie mistakes.
I have three locations feeding a fourth (centralized) location with messages using a pub/sub model. Each feeder site has 8 publishers connected to a local broker that federates the messages to the final centralized destination. The architecture I am currently evaluating is comprised of the following: The part that works: each of the 8 publishers maintains an exchange fed.topic with a queue, fed.local, bound to the key '#' there is a queue push route(s) from localhost(queue=fed.local) => [ gw01.siteN, gw02.siteN ] (ex=fed.topic) The part I have yet to test: the 'gw' brokers maintain fed.topic bound to (or multiple) a queue fed.aggr on the key "#" The centralized broker has a pull queue route(s) from central(ex=fed.topic) <= [ gw01.site1, gw02.site1, gw01.site2 ...] (queue=fed.aggr) I actually haven't gotten as far as the centralized broker as I am concerned with reliability from local => aggr. To test I am using a slightly modified version of the topic_publisher and topic_subscriber python example scripts. My first reaction was "cool" the messages are equally routed across both links. I then stopped qpid on one of the gateways and noticed I lost a few test messages. I set --ack 1 and would only lose 1 message. I then set the delivery_mode prop to persistent and did not lose any messages!! (thanks jrobie) Now the question: So far it's working great, but I noticed with a persistent message vs a non-persistent message the messages are not balanced across both gw01, gw02, instead they operate in an active/passive fashion. I am wondering if this is intentional or merely a coincidence? My experience with qpid so far is that it "just works" (my favorite kind of software). Keep up the good work.! --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:[email protected]
