Camel proposes different solutions to allow your solution to be scalable, to distribute the load between different instances. The choice will depend on how you will deploy/package Camel (standalone mode, embedded in a J2EE or OSGI server, ...) and how the servers will be configured (master/slave, ...).
Loadbalancing
This approach allows to distribute the load between different endpoints. The from endpoint plays the role of a 'proxy' when we use by example a jetty server
Clustering
The clustering can be achieved in different ways : Work distribution, Consumer competition, ... depending how you would like to configure your infrastructure (one or several instances running on the same machine or distribute across a cloud of servers).
...
Camel can be not only plugged on the NMR bus but can also use the clustering functionality offered by ServiceMix 4 ()
Cloudcomputing
- 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
...