camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Charles Moulliard <cmoulli...@gmail.com>
Subject Re: [Discuss] Apache Camel - Clustering/Loadbalancing solutions (inventory)
Date Fri, 26 Feb 2010 08:41:25 GMT
Based on James feedback, I have adapted the categories. I will create
a wiki page on camel wiki to show the different options

 1. Loadbalancing
     loadbalance() : http://camel.apache.org/load-balancer.html

 2. Clustering

 2.1. Same JVM & CamelContext

 seda:// : http://camel.apache.org/seda.html or direct://
and threads()
jms:// or activemq:// and threads()

 2.2 Different JVM & CamelContext

 2.2.1. Suitable for solutions running in standalone mode or deployed
in Web Application Server (different WAR/EAR)
 vm:// : http://camel.apache.org/vm.html or jms:// - activemq://

 2.2.2. Between different instances of OSGI servers (SMX4)
 nmr:// : http://camel.apache.org/nmr.html or jms:// - activemq://

 2.2.3. If message persistence is required
jms:// - activemq://

4. Cloudcomputing

4.1 Cassandra
 It could be interesting to create a Cassandra endpoint to allow to consume
 info/camel messages from Cassandra DB (NOSQL database) or to push there
 camel message (using id + binary stream). It might also make an interesting
 aggregator implementation since its also distributed & can support multi-master

4.2 camel-terracotta
 Extends the SEDA component

Kind regards,

Charles Moulliard
Senior Enterprise Architect
Apache Camel Committer

*****************************
blog : http://cmoulliard.blogspot.com
twitter : http://twitter.com/cmoulliard
Linkedlin : http://www.linkedin.com/in/charlesmoulliard

Apache Camel Group :
http://www.linkedin.com/groups?home=&gid=2447439&trk=anet_ug_hm



On Thu, Feb 25, 2010 at 6:02 PM, James Strachan
<james.strachan@gmail.com> wrote:
> On 25 February 2010 16:28, Charles Moulliard <cmoulliard@gmail.com> wrote:
>> Hi,
>>
>> If we investigate what Camel 2.x project proposes in terms of
>> clustering/loabalancing solution, we can categorize the solutions like this
>> :
>>
>> 1. Loadbalancing
>> loadbalance() : http://camel.apache.org/load-balancer.html
>>
>> 2. Clustering
>>
>> 2.1. Same JVM & CamelContext
>> seda:// : http://camel.apache.org/seda.html or direct://
>> and Threads() or threadPool()
>>
>> 2.2 Different JVM & CamelContext
>> vm:// : http://camel.apache.org/vm.html
>>
>> 2.3 NMR
>> nmr:// : http://camel.apache.org/nmr.html
>
> JMS and activemq is well worth mentioning here as the default approach
> for multi-JVM clustering with load balancing (and if JMSXGroupID is
> used, auto-partitioning too).
>
> A queue is basically a clustered, fault tolerant, location
> transparent, failover capable, transactional version of "vm:". By
> itself the nmr is really just the same kind of thing as vm:// - as its
> typical use is to be a logical name inside a single JVM (albeit using
> WSDL exchange pattern naming conventions rather than just a string in
> vm:// - and ServiceMix tends to ensure that there is exactly one NMR
> in the JVM whereas its quite easy to have many camel class loaders and
> so vm:// spaces if you're not careful.
>
>
>> 3. Cloudcomputing
>>
>> 3.1 camel-terracotta
>> Extends the SEDA component
>>
>> 3.2 Cassandra
>> It could be interesting to create a Cassandra endpoint to allow to consume
>> info/camel messages from Cassandra DB (NOSQL database) or to push there
>> camel message (using id + binary stream) ? What do you think ?
>>
>> Is this inventory complete and exhaustif ?
>
> I'm liking the cassandra idea; that could be pretty interesting. It
> might also make an interesting aggregator implementation since its
> also distributed & can support multi-master etc
>
> --
> James
> -------
> http://macstrac.blogspot.com/
>
> Open Source Integration
> http://fusesource.com/
>

Mime
View raw message