On 25 February 2010 16:28, Charles Moulliard <[email protected]> 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/
