camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Quinn Stevenson <qu...@pronoia-solutions.com>
Subject Re: Resequencer in distributed environment
Date Thu, 12 May 2016 14:47:15 GMT
I had a similar situation with one implementation - we weren’t using the resequencer, but
we required FIFO processing and we wanted to have the consumers/processers distributed across
multiple containers.  Since we required FIFO, only one of the deployed components could be
processing at any given time.

I tried both the ZooKeeperRoutePolicy ( http://camel.apache.org/zookeeper.html <http://camel.apache.org/zookeeper.html>
) and ActiveMQ Exclusive Consumers ( http://activemq.apache.org/exclusive-consumer.html <http://activemq.apache.org/exclusive-consumer.html>
).  Both techniques worked, but we were already using ActiveMQ as the message source and I
didn’t have a readily available ZooKeeper cluster in production, so I picked the exclusive
consumers.

For what it’s worth ...

> On May 12, 2016, at 4:54 AM, Siano, Stephan <stephan.siano@sap.com> wrote:
> 
> Hi Claus,
> 
> Thanks, that's what I also guessed from the code. Theoretically there are two approaches
how something like that could work in  a distributed environment: distribute the state somehow
(with some replicated cache or something like that) or limit the execution to one node at
a time (with route policies?).
> 
> Has anybody ever tried something like that (with or without success)?
> 
> Best regards
> Stephan
> 
> -----Original Message-----
> From: Claus Ibsen [mailto:claus.ibsen@gmail.com] 
> Sent: Donnerstag, 12. Mai 2016 11:06
> To: users@camel.apache.org
> Subject: Re: Resequencer in distributed environment
> 
> Its not distributed, and its in-memory only for a single camel context.
> 
> On Thu, May 12, 2016 at 9:33 AM, Siano, Stephan <stephan.siano@sap.com> wrote:
>> Hi,
>> 
>> has anybody ever tried to use a resequencer in a distributed environment (e.g. with
two cluster nodes doing message processing)? I am well aware that the sequencer pattern as
such does not scale, but it might be necessary to have multiple cluster nodes for availability
reasons or to scale out with other processing steps that are executed before the resequencer.
>> 
>> From what I have found in the code the current resequencer implementation relies
on running on instance, but the documentation does not say anything about it.
>> 
>> Am I correct with my assumptions or did I miss something (e.g. some distributed sequencer
implementation in some camel component)?
>> 
>> Has anybody successfully used the resequencer in a HA scenario (and can give some
hints about the approach used for that)?
>> 
>> Best regards
>> Stephan
> 
> 
> 
> -- 
> Claus Ibsen
> -----------------
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message