[openamq-dev] HA pair & Wire API

Dmitri Tsyganov dmitri.tsyganov at dowjones.com
Wed Dec 12 23:53:21 CET 2007


Hello experts,

I have implemented failover in application, but I see one little
problem. I was expecting (hoping) that same queues with the same
bindings will be created on a backup broker in HA pair when it is
standing by... but looks like this is not happening. So when my apps
failover to a backup, I need to recreate all queues and bindings.
Because I have a case when one application creates a queue and another
consumes it, I may have some raising conditions here.

I was trying to use MTA cluster along with HA pair configuration, but
this didn't help, unless I missed something.

Any thoughts on this?

Sincerely,

Dmitri

On Fri, 2007-12-07 at 20:23 +0100, Martin Sustrik wrote:
> Dmitri,
> 
> Yes, the failover should be handled in the application. It's sort of 
> inconvenient, but not really difficult.
> 
> Martin
> 
> Dmitri Tsyganov wrote:
> > Thanks, Martin
> > 
> > Yes, I see that the failover works on the broker side as documented. 
> > So do you know if client side (Wire API) will implement failover or it
> > should be handled in applications?
> > 
> > Thank you,
> > 
> > Dmitri
> > 
> > 
> > On Fri, 2007-12-07 at 08:54 +0100, Martin Sustrik wrote:
> >> Dmitri,
> >>
> >> No, the failover implementation is incomplete, but still functional. In 
> >> fact, we are using it in production.
> >>
> >> On broker side, transition of control between the two brokers is 
> >> implemented. I.e. only one broker is active at time, the other one 
> >> refusing connections.
> >>
> >> That way, your applications should try to connect to one broker and if 
> >> connecting fails - because broker is either down or it is non-active 
> >> backup broker - it should try to connect to the other broker in the HA pair.
> >>
> >> Martin
> >>
> >>> Is HA pair automatic fail-over supported in Wire API?
> >>>
> >>> According to the doc, I should be able to provide a host list -
> >>>
> >>> Client-side Semantics
> >>> Our goal with high-availability is to make the client semantics very
> >>> simple: 
> >>>
> >>>      1. Client applications should know both HA peer addresses. In the
> >>>         client APIs we allow the "hostname" to be specified as a list.
> >>>         This list would contain two server names/addresses.
> >>>
> >>> but I am not sure how. Maybe I am missing something.
> >>>
> >>> Second problem I have is that I can't connect to a backup server with
> >>> amq_shell - my connection gets rejected. I think connection from shell
> >>> should be allowed, according to the doc.
> >>>
> >>> Thank you,
> >>>
> >>> Dmitri
> >>> _______________________________________________
> >>> openamq-dev mailing list
> >>> openamq-dev at lists.openamq.org
> >>> http://lists.openamq.org/mailman/listinfo/openamq-dev
> >> _______________________________________________
> >> openamq-dev mailing list
> >> openamq-dev at lists.openamq.org
> >> http://lists.openamq.org/mailman/listinfo/openamq-dev
> > _______________________________________________
> > openamq-dev mailing list
> > openamq-dev at lists.openamq.org
> > http://lists.openamq.org/mailman/listinfo/openamq-dev
> 
> _______________________________________________
> openamq-dev mailing list
> openamq-dev at lists.openamq.org
> http://lists.openamq.org/mailman/listinfo/openamq-dev


More information about the openamq-dev mailing list