From activemq-dev-return-179-apmail-geronimo-activemq-dev-archive=geronimo.apache.org@geronimo.apache.org Mon Feb 27 08:45:07 2006 Return-Path: Delivered-To: apmail-geronimo-activemq-dev-archive@www.apache.org Received: (qmail 64252 invoked from network); 27 Feb 2006 08:45:02 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 27 Feb 2006 08:45:01 -0000 Received: (qmail 38325 invoked by uid 500); 27 Feb 2006 08:44:56 -0000 Delivered-To: apmail-geronimo-activemq-dev-archive@geronimo.apache.org Received: (qmail 38286 invoked by uid 500); 27 Feb 2006 08:44:55 -0000 Mailing-List: contact activemq-dev-help@geronimo.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: activemq-dev@geronimo.apache.org Delivered-To: mailing list activemq-dev@geronimo.apache.org Received: (qmail 38269 invoked by uid 99); 27 Feb 2006 08:44:55 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 27 Feb 2006 00:44:55 -0800 X-ASF-Spam-Status: No, hits=0.1 required=10.0 tests=HTML_MESSAGE,HTML_TAG_EXIST_TBODY,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: domain of rajdavies@gmail.com designates 64.233.162.205 as permitted sender) Received: from [64.233.162.205] (HELO zproxy.gmail.com) (64.233.162.205) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 27 Feb 2006 00:44:53 -0800 Received: by zproxy.gmail.com with SMTP id z31so835982nzd for ; Mon, 27 Feb 2006 00:44:33 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:in-reply-to:references:mime-version:content-type:message-id:cc:from:subject:date:to:x-mailer; b=KAU3BRbgvd8hEI49tcsSyzpDMiPOLOBoPPubvIl3pBhylw1yE8+in11J/yxKY1jucGkIPbYFQBuV3+lHaE8H2vH+Xoe58L5CsWDJsrnY9uX452guYPxi2MT+mO70KYqOMMy8ZKm6Xxb2mkGFOXZY+xJNl5hPuBH/hWDpFhsfheg= Received: by 10.65.183.18 with SMTP id k18mr4714569qbp; Mon, 27 Feb 2006 00:44:32 -0800 (PST) Received: from ?192.168.15.104? ( [86.134.101.71]) by mx.gmail.com with ESMTP id f13sm581289qba.2006.02.27.00.44.31; Mon, 27 Feb 2006 00:44:32 -0800 (PST) In-Reply-To: References: <22227BCD-1352-44E8-9A28-F30F04CACE66@gmail.com> Mime-Version: 1.0 (Apple Message framework v746.2) Content-Type: multipart/alternative; boundary=Apple-Mail-1--486091499 Message-Id: <96DC32D8-0C2E-42C3-9C25-E896BF5F199D@gmail.com> Cc: ActiveMQ User , user@activemq.codehaus.org, activemq-dev@geronimo.apache.org From: Rob Davies Subject: Re: [activemq-user] Network of Brokers ... Date: Mon, 27 Feb 2006 08:44:25 +0000 To: Sridhar Komandur X-Mailer: Apple Mail (2.746.2) X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N --Apple-Mail-1--486091499 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Hi Srdhar, answers inlined: On 24 Feb 2006, at 19:41, Sridhar Komandur wrote: > Thanks Rob ... I have gone through the link, andcould you please > clarify : > > 1. when multiple routes exist btw producer and consumer brokers, > are you suggesting > that under 'normal' circumstances duplicates are prevented ? What > circumstances > is it prevented (and which ones result in duplicates ?). ActiveMQ tags messages with the brokers the message has passed through - so messages can be filtered out before they are sent to a broker that message has already visited - i.e. A -> B -> C -> A (a ring) - A message originating at broker A - would not be passed from broker C to broker A (so loops like this are avoided). However - (excuse the drawing) B / \ A D \ / C A message sent from A to both B and C - B and C both forward to D - D would get a duplicate of the original. Now it's possible to filter out duplicates on broker D - by saving a history of message ids that have passed through broker D - but then there are a lot of edge cases, especially around re-delivery and queues - which makes it difficult in practice to do. > > 2. NetworkConnector 'name' property: > name bridge name of the network - for more than one network > connector between the same two brokers - use different names > > example ( > > Producer-- A- B-C-D ---Consumer > | | > +---E---+ > > 2.1 Does 'name' apply in the above scenario - A and D have multiple > paths, but not direct NetworkConnectors. No - it only applies to scenarios like this: -> A B -> Note the direction (as networks are single plex) - a unique name for the network would not apply to the usual case for networks: A <-> B > > 2.2 How does A route based on 'name', using the above example > (cyclic case) ? The name is not used for routing - only for creating a unique but repeatable client ID that is used by the network connector. > > 3. I would prefer not having to be restricted to acyclic (tree) > graphs, for several reasons: > - more flexibility in routing (e.g., admin reasons) > - single point of failures (I undertand failover tranport will > create NetworkConnector to another broker - but the /flash flood > effects of the distributed system may lead to instability) > - traffic saturation and inability to take advantage of multiple > paths (load balancing) > for different flows. > ok - but hopefully you can use a combination of master/slave and acyclic networks to get the same solution. > 4. I would like to run some preliminary ideas by you offline to > deal with duplicate messages - unless this feature is deemed off > the ActiveMQ roadmap. > If possible - can we keep the discussion on the list - I'm copying to dev - that way we'll get the benefit of the community input as well :). > Thank you Sir ! > Regards > - Sri Thank you! cheers, Rob > > On 2/24/06, Rob Davies wrote: > Hi Sridhar, > > ActiveMQ does try and prevent sending duplicates - but there are > circumstances where it would be possible for multiple routes across a > network to result in duplicates. I'd advise you to only use acyclic > graphs, or where this can't be avoided, use well named destinations > and network filters. > > See http://docs.codehaus.org/display/ACTIVEMQ/Networks+of+Brokers > > cheers, > > Rob > > On 23 Feb 2006, at 22:08, Sridhar Komandur wrote: > > > Rob, thanks for your email. > > > > Would you mind clarifying item 1 below, what if there are more than > > one path > > between producer and a consumer for the given networkTTL ? > > > > Will the consumer_broker receive as many messages as the number of > > paths ? > > (I hope not). Could you please elaborate on the details of message > > routing > > in this case ? > > > > Thanks! > > Regards > > - Sridhar > > > > On 2/19/06, Rob Davies wrote: > >> > >> > >> Networks are being updated currently for release 4.0 > >> Consumers are propagated around the network - but within > constraints: > >> > >> 1. networkTTL - number of hops (brokers) that this information will > >> pass through - networkTTL also applies to messages dispatched as > well > >> 2. exclusiveDestinations - can exclude destinations from network > >> traffic (can use wild-cards etc) > >> 3. inclusiveDestinations - can specify only destinations which > are in > >> the inclusive list to be propagated around the network > >> > >> > >> I'll update the wiki with this information once we're satisfied its > >> working. > >> > >> cheers, > >> > >> Rob > >> > >> On 13 Feb 2006, at 23:15, Sridhar Komandur wrote: > >> > >>> Hi, > >>> > >>> 1. Can anyone clarify how the routing info is shared within > >>> Network of > >>> Brokers > >>> - is the producer/subscription info known to all the brokers > >>> in the > >>> network ? As I understand, > >>> 4.0 follows demand-forwarding for the actual message flow. > >>> > >>> 2. Has anyone /deployed/thought of/ an architecture where multiple > >>> "Network > >>> of Brokers" clusters would be deployed ? > >>> (not unlike ISP domains, within the same enterprise - for > >>> capacity or > >>> ownership reasons). > >>> I was wondering how "routes" can be selectively disseminated > >>> between > >>> the clusters. > >>> > >>> > >>> Thanks for any insights into the above. > >>> > >>> Thanks > >>> Regards > >>> - Sridhar Komandur > >> > >> > > --Apple-Mail-1--486091499--