Return-Path: Delivered-To: apmail-geronimo-activemq-users-archive@www.apache.org Received: (qmail 26876 invoked from network); 8 Jun 2006 14:47:42 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 8 Jun 2006 14:47:42 -0000 Received: (qmail 60503 invoked by uid 500); 8 Jun 2006 14:47:39 -0000 Delivered-To: apmail-geronimo-activemq-users-archive@geronimo.apache.org Received: (qmail 60454 invoked by uid 500); 8 Jun 2006 14:47:39 -0000 Mailing-List: contact activemq-users-help@geronimo.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: activemq-users@geronimo.apache.org Delivered-To: mailing list activemq-users@geronimo.apache.org Received: (qmail 60426 invoked by uid 99); 8 Jun 2006 14:47:39 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 08 Jun 2006 07:47:39 -0700 X-ASF-Spam-Status: No, hits=2.0 required=10.0 tests=RCVD_IN_BL_SPAMCOP_NET,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: domain of james.strachan@gmail.com designates 66.249.92.169 as permitted sender) Received: from [66.249.92.169] (HELO ug-out-1314.google.com) (66.249.92.169) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 08 Jun 2006 07:47:38 -0700 Received: by ug-out-1314.google.com with SMTP id q2so879452uge for ; Thu, 08 Jun 2006 07:47:16 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=nRdvEFVInm2T6rR0ijGBKRArqs2YrUR1ze7vRJIVZ8BDloPuTYI8+GpVmTHepcicp0pofXnC31uGNtNvLjJ+KDLMCF+Gll5z6Kg+aLP6ZEnPKFsy2uN38VMcYShZT/dSZ4omWo4UDWjWEd2XPN6SzdsQzxMu0n0F5C4AgF6x4bQ= Received: by 10.67.30.6 with SMTP id h6mr1598491ugj; Thu, 08 Jun 2006 07:47:16 -0700 (PDT) Received: by 10.66.255.17 with HTTP; Thu, 8 Jun 2006 07:47:16 -0700 (PDT) Message-ID: Date: Thu, 8 Jun 2006 15:47:16 +0100 From: "James Strachan" To: activemq-users@geronimo.apache.org Subject: Re: HA system design In-Reply-To: <4773646.post@talk.nabble.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <4751497.post@talk.nabble.com> <4773646.post@talk.nabble.com> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N On 6/8/06, Thomas Swindells wrote: > > >Re: HA system design James.Strachan 2006-06-08 12:26 > >On 6/7/06, Thomas Swindells wrote: > >> > >> Hi, I'm new to JMS and ActiveMQ > > >Welcome! > Thank you > >> and need to develope a high available system. > ... > >> From what I have been reading the Master-Slave connection only supports a > >> single failure occouring and then requires both brokers to be restarted, > >> is > >> this correct? > >Yes > > >> If this is the case please could someone suggest to me what then is the > >> best > >> configuration in order to create a rebust high availability system? > >> > >> Are there any advantages/disadvantages to having embeded brokers within > >> each > >> client which then connect to the main broker system or should the client > >> just connect directly to the main broker system? > > >So i'd recommend 2 approaches; it kinda depends on your requirements > >really which is best. The easiest option to go with is Master/Slave. > >The issue is if you loose a broker its currently a manual process to > >bring it back online again since we don't yet have an automatic > >old-master <-> new-master synchronization protocol. > Unfortunately this isn't an option, the system needs to be HA meaning a full > failover/failback solution. > Is any work being done on creating the necessary synchronization? Not yet - hopefully in the future someone will build this. > >The other option; if you're using topics and need really high > >performance you could consider using subscription recovery... > >http://incubator.apache.org/activemq/subscription-recovery-policy.html > >which basically means if a broker dies, you connect to another broker > >(in a store/forward network so messages on a topic get replicated to > >all available consumers). However by default you'd miss some messages > >during the time between reconnecting & resubscribing, so subscription > >recovery policy allows you to configure a buffer in each broker (say 1 > >minutes worth) of messages kept around in RAM so that they can be > >replayed to any new retroactive consumers that reconnect. > > >The latter option is crazy fast and does not require any persistence, > >the former option is the solution you should go with if you need > >persistence or use queues. > The later option sounds closer to the solution I need however I do also need > to use some queues in the system. Are there any other solutions which allow > full failover/failback support which do also support queues or is it going > to be a comprimise between one or the other? For queues the only real option is master/slave as we have to replicate things to 1-N brokers. So it sounds like you need a broker-broker reconciliation capability so you can automatically bring back online any failed masters. -- James ------- http://radio.weblogs.com/0112098/