You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Jamie McCrindle <ja...@gmail.com> on 2006/04/11 08:18:50 UTC

in-out and clustering

Hi,

I've been doing some testing in a cluster and it turns out (quite
reasonably) that an InOut exchange can't reply if it's source
component is not available even if there are multiple instances of
that component in a cluster.

If it's a stateful process engine that sent out the InOut exchange and
it's clustered to multiple nodes, any one of them should be able to
accept the returning InOut exchange.

Is there a way that servicemix could allow this kind of failover?

Regards,
Jamie.

Re: in-out and clustering

Posted by Guillaume Nodet <gn...@gmail.com>.
You can find them in the main distribution under examples/cluster or
examples/ws-notification.

Cheers,
Guillaume Nodet

On 4/27/06, mqaiserm <Qa...@revolution.com> wrote:
>
> In servicemix 3.0 , where I can find the demo for clustering ?
> --
> View this message in context: http://www.nabble.com/in-out-and-clustering-t1429578.html#a4128969
> Sent from the ServiceMix - User forum at Nabble.com.
>
>

Re: in-out and clustering

Posted by mqaiserm <Qa...@revolution.com>.
In servicemix 3.0 , where I can find the demo for clustering ?
--
View this message in context: http://www.nabble.com/in-out-and-clustering-t1429578.html#a4128969
Sent from the ServiceMix - User forum at Nabble.com.


Re: in-out and clustering

Posted by Peter Klotz <pe...@blue-elephant-systems.com>.
Hi,

This demo is new in servicemix-3.0-SNAPSHOT together with some more new demos.
To start I wouldn't recommend to use the old 2.x release anyway except you're
going for a production install here :-) servicemix-3.0 is stable enough to work
with it.

Peter

mqaiserm wrote:
> I am using servicemix 2.0.2 and there is no demo for clustering in this
> distribution. where i can find these demos ?
> --
> View this message in context: http://www.nabble.com/in-out-and-clustering-t1429578.html#a4124332
> Sent from the ServiceMix - User forum at Nabble.com.
> 
> 


Re: in-out and clustering

Posted by mqaiserm <Qa...@revolution.com>.
I am using servicemix 2.0.2 and there is no demo for clustering in this
distribution. where i can find these demos ?
--
View this message in context: http://www.nabble.com/in-out-and-clustering-t1429578.html#a4124332
Sent from the ServiceMix - User forum at Nabble.com.


Re: in-out and clustering

Posted by Guillaume Nodet <gn...@gmail.com>.
Did you had a look at the existing demos in the servicemix
distribution (cluster and wsnotification) ?

Cheers,
Guillaume Nodet

On 4/26/06, mqaiserm <Qa...@revolution.com> wrote:
>
> Can you share your servicemix.xml and activemq.xml for clustering ?
>
> Or any link for clustering support ?
> --
> View this message in context: http://www.nabble.com/in-out-and-clustering-t1429578.html#a4106782
> Sent from the ServiceMix - User forum at Nabble.com.
>
>

Re: in-out and clustering

Posted by mqaiserm <Qa...@revolution.com>.
Can you share your servicemix.xml and activemq.xml for clustering ?

Or any link for clustering support ?
--
View this message in context: http://www.nabble.com/in-out-and-clustering-t1429578.html#a4106782
Sent from the ServiceMix - User forum at Nabble.com.


Re: in-out and clustering

Posted by Guillaume Nodet <gn...@gmail.com>.
Yes, both stateless and clustered stateful components could benefit
from this behavior...

Cheers,
Guillaume Nodet

On 4/11/06, Jamie McCrindle <ja...@gmail.com> wrote:
> Jira has been created:
>
> http://issues.apache.org/activemq/browse/SM-395
>
> > > If it's a stateful process engine that sent out the InOut exchange and
> > > it's clustered to multiple nodes, any one of them should be able to
> > > accept the returning InOut exchange.
> >
> > I guess you mean stateless ?
>
> In the case of BpmScript, clustered statefulness. I assume the other
> clustered BPE's will find InOut failover useful too.
>
> Regards,
> jamie.
>
> On 4/11/06, Guillaume Nodet <gn...@gmail.com> wrote:
> > On 4/11/06, Jamie McCrindle <ja...@gmail.com> wrote:
> > > Hi,
> > >
> > > I've been doing some testing in a cluster and it turns out (quite
> > > reasonably) that an InOut exchange can't reply if it's source
> > > component is not available even if there are multiple instances of
> > > that component in a cluster.
> >
> > Yeah, right.  The main reason is that the component can be statefull and / or
> > use a sendSync.
> >
> > >
> > > If it's a stateful process engine that sent out the InOut exchange and
> > > it's clustered to multiple nodes, any one of them should be able to
> > > accept the returning InOut exchange.
> >
> > I guess you mean stateless ?
> >
> > >
> > > Is there a way that servicemix could allow this kind of failover?
> >
> > This is not supported at the moment, but please raise a JIRA for this issue.
> >
> > >
> > > Regards,
> > > Jamie.
> > >
> >
>

Re: in-out and clustering

Posted by Jamie McCrindle <ja...@gmail.com>.
Jira has been created:

http://issues.apache.org/activemq/browse/SM-395

> > If it's a stateful process engine that sent out the InOut exchange and
> > it's clustered to multiple nodes, any one of them should be able to
> > accept the returning InOut exchange.
>
> I guess you mean stateless ?

In the case of BpmScript, clustered statefulness. I assume the other
clustered BPE's will find InOut failover useful too.

Regards,
jamie.

On 4/11/06, Guillaume Nodet <gn...@gmail.com> wrote:
> On 4/11/06, Jamie McCrindle <ja...@gmail.com> wrote:
> > Hi,
> >
> > I've been doing some testing in a cluster and it turns out (quite
> > reasonably) that an InOut exchange can't reply if it's source
> > component is not available even if there are multiple instances of
> > that component in a cluster.
>
> Yeah, right.  The main reason is that the component can be statefull and / or
> use a sendSync.
>
> >
> > If it's a stateful process engine that sent out the InOut exchange and
> > it's clustered to multiple nodes, any one of them should be able to
> > accept the returning InOut exchange.
>
> I guess you mean stateless ?
>
> >
> > Is there a way that servicemix could allow this kind of failover?
>
> This is not supported at the moment, but please raise a JIRA for this issue.
>
> >
> > Regards,
> > Jamie.
> >
>

Re: in-out and clustering

Posted by Guillaume Nodet <gn...@gmail.com>.
On 4/11/06, Jamie McCrindle <ja...@gmail.com> wrote:
> Hi,
>
> I've been doing some testing in a cluster and it turns out (quite
> reasonably) that an InOut exchange can't reply if it's source
> component is not available even if there are multiple instances of
> that component in a cluster.

Yeah, right.  The main reason is that the component can be statefull and / or
use a sendSync.

>
> If it's a stateful process engine that sent out the InOut exchange and
> it's clustered to multiple nodes, any one of them should be able to
> accept the returning InOut exchange.

I guess you mean stateless ?

>
> Is there a way that servicemix could allow this kind of failover?

This is not supported at the moment, but please raise a JIRA for this issue.

>
> Regards,
> Jamie.
>

Re: in-out and clustering

Posted by Guillaume Nodet <gn...@gmail.com>.
If your consumer is stateless, exchanges will be load-balanced by
ActiveMQ. There is currently no way to have a "prefer sticky consumer"
mode..

Cheers,
Guillaume Nodet

On 4/19/06, Jamie McCrindle <ja...@gmail.com> wrote:
> Hi Guillaume,
>
> That's great. Will servicemix still prefer to do sticky routing but
> then fall back to an alternate node, or will it be more arbitrary?
>
> thanks,
> jamie.
>
> On 4/13/06, Guillaume Nodet <gn...@gmail.com> wrote:
> > This should now be possible.
> > You have to put the following line
> >    exchange.setProperty("org.apache.servicemix.provider.stateless",
> > Boolean.TRUE);
> > before sending the exchange containing the answer.
> > This way, the exchanges can be received by any instance of the component.
> >
> > Cheers,
> > Guillaume Nodet
> >
> >
> > On 4/11/06, Jamie McCrindle <ja...@gmail.com> wrote:
> > > Hi,
> > >
> > > I've been doing some testing in a cluster and it turns out (quite
> > > reasonably) that an InOut exchange can't reply if it's source
> > > component is not available even if there are multiple instances of
> > > that component in a cluster.
> > >
> > > If it's a stateful process engine that sent out the InOut exchange and
> > > it's clustered to multiple nodes, any one of them should be able to
> > > accept the returning InOut exchange.
> > >
> > > Is there a way that servicemix could allow this kind of failover?
> > >
> > > Regards,
> > > Jamie.
> > >
> >
>

Re: in-out and clustering

Posted by Jamie McCrindle <ja...@gmail.com>.
Hi Guillaume,

That's great. Will servicemix still prefer to do sticky routing but
then fall back to an alternate node, or will it be more arbitrary?

thanks,
jamie.

On 4/13/06, Guillaume Nodet <gn...@gmail.com> wrote:
> This should now be possible.
> You have to put the following line
>    exchange.setProperty("org.apache.servicemix.provider.stateless",
> Boolean.TRUE);
> before sending the exchange containing the answer.
> This way, the exchanges can be received by any instance of the component.
>
> Cheers,
> Guillaume Nodet
>
>
> On 4/11/06, Jamie McCrindle <ja...@gmail.com> wrote:
> > Hi,
> >
> > I've been doing some testing in a cluster and it turns out (quite
> > reasonably) that an InOut exchange can't reply if it's source
> > component is not available even if there are multiple instances of
> > that component in a cluster.
> >
> > If it's a stateful process engine that sent out the InOut exchange and
> > it's clustered to multiple nodes, any one of them should be able to
> > accept the returning InOut exchange.
> >
> > Is there a way that servicemix could allow this kind of failover?
> >
> > Regards,
> > Jamie.
> >
>

Re: in-out and clustering

Posted by Guillaume Nodet <gn...@gmail.com>.
This should now be possible.
You have to put the following line
   exchange.setProperty("org.apache.servicemix.provider.stateless",
Boolean.TRUE);
before sending the exchange containing the answer.
This way, the exchanges can be received by any instance of the component.

Cheers,
Guillaume Nodet


On 4/11/06, Jamie McCrindle <ja...@gmail.com> wrote:
> Hi,
>
> I've been doing some testing in a cluster and it turns out (quite
> reasonably) that an InOut exchange can't reply if it's source
> component is not available even if there are multiple instances of
> that component in a cluster.
>
> If it's a stateful process engine that sent out the InOut exchange and
> it's clustered to multiple nodes, any one of them should be able to
> accept the returning InOut exchange.
>
> Is there a way that servicemix could allow this kind of failover?
>
> Regards,
> Jamie.
>