camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <claus.ib...@gmail.com>
Subject Re: stateful EIP patterns and clustering Camel
Date Sat, 21 May 2011 12:02:02 GMT
Hi

The various EIPs have pluggable APIs so you can plugin your own custom
clustering support.
Although a few of the EIPs dont have an easy pluggable API
(resequencer / throttler). But we will add that in a future release.

Also if you have shared state in a clustered Camel, you may have
overhead/issues having that state being communicated safely between
the nodes.

Its a bit out of the core of Camel to offer that. Its more an ESB
thingy that SMX may/should pickup.

That said. When the pluggable APIs are in place. The community can
help provide a cluster plugins for that.
For example there is a person donating hazelcast plugins.



On Thu, May 19, 2011 at 1:36 PM, janne postilista
<jannepostilistat@gmail.com> wrote:
> - Throttler http://camel.apache.org/throttler.html is also kind of a
> stateful EIP. If an endpoint can handle 10 requests per second, and
> there are something between 1 and 5 camels running in a clustered
> setup (depending on which ones are up and which down), how can we
> specify a throttler that is correct?
>
> - Sampling throttler http://camel.apache.org/sampling.html also is
> kind of stateful(?)
>
> Camel (or servicemix running the camel) does not have a general
> concept such as "camel clustering" where you would configure number of
> camel instances, all running same routes, and configure them to be
> aware of each other and communicate their internal state between each
> other when running the routes...am I correct?
>
>
> On Thu, May 19, 2011 at 10:59 AM, Claus Ibsen <claus.ibsen@gmail.com> wrote:
>> There is a JIRA ticket to improved the resequencer to allow a
>> pluggable repository. AFAIK its the last stateful EIP that doesnt
>> offer that. Another stateful EIP is the idempotent consumer.
>>
>>
>>
>> On Thu, May 19, 2011 at 9:44 AM, janne postilista
>> <jannepostilistat@gmail.com> wrote:
>>> Some of the EIP patterns are stateful. For example aggregator collects
>>> a group of messages 1-2-3 and sends the aggregated one once all 3 have
>>> arrived. When messages 1 and 2 have arrived, state = messages 1 and 2.
>>> Another example is resequencer.
>>>
>>> We are running multiple (now 2) instances of Camel to provide
>>> failover. Clustering is based on JMS queues. Messages arrive in input
>>> queue, a route (either camel instance A or B) reads the message and
>>> does some processing, writes the message to intermediate queue 1, some
>>> other route (from A or B) reads that message, etc, until the message
>>> is written to output queue.
>>>
>>> Is there some general Camel solution for working with stateful EIP
>>> patterns in clustered environment? State could be persisted in shared
>>> database. It seems aggregator http://camel.apache.org/aggregator2.html
>>> supports this, jdbc-aggregationrepository is mentioned. However
>>> others, such as resequencer http://camel.apache.org/resequencer.html,
>>> do not have the same feature.
>>>
>>
>>
>>
>> --
>> Claus Ibsen
>> -----------------
>> FuseSource
>> Email: cibsen@fusesource.com
>> Web: http://fusesource.com
>> CamelOne 2011: http://fusesource.com/camelone2011/
>> Twitter: davsclaus, fusenews
>> Blog: http://davsclaus.blogspot.com/
>> Author of Camel in Action: http://www.manning.com/ibsen/
>>
>



-- 
Claus Ibsen
-----------------
FuseSource
Email: cibsen@fusesource.com
Web: http://fusesource.com
CamelOne 2011: http://fusesource.com/camelone2011/
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Mime
View raw message