On Thu, Apr 5, 2012 at 12:55 PM, Stefan Burkard <[email protected]> wrote:
> Hi
>
> To clarify the subject: with "stateful" I mean processors with an
> internal state like aggregator, resequencer etc. On the other hand
> would I call processors like content based router etc. as stateless
> because they can take a single message and process it without further
> need to wait for other messages.
>
> Is it correct that a route with only stateless processors scales more
> or less proportional with the number of concurrent consumers?
>

Yeah, well anything without a shared state usually scales better.
But its also depends on the workload that the "action" performs.


> And what happens with concurrent consumers when I insert a stateful
> processor like an aggregator? these processors must "synchronize" all
> consumers to do their work, are they?
>

Yeah a little part has to be coordinate. For the aggregator, its synchronized
when it merges in process aggregated messages.



> So how can I scale such processors? I could of course make multiple
> identical aggregator routes and dispatch messages across them (for
> example round robin). That would mean I get more aggregations since
> they work completely individual. Is this the best way to do it or is
> there some kind of processor internal scaling that can configured?
> Because this solution needs an implementation change, while scaling
> with concurrent consumers is just a configuration change.
>

Well always ask the computer if you have any bottlenecks.

But for an aggregator as its based on a correlation expression, then
you can scale
it on a number of nodes, by sharding the messages. So messages from
the same correlation
group goes to the same node. Then you can scale out the work.

> Thanks for your answers
> Stefan

Another way to scale is when you do IO communication, then if you can
do this async non-blocking
then that can scale up as well.
Some details here: http://camel.apache.org/asynchronous-routing-engine.html

-- 
Claus Ibsen
-----------------
CamelOne 2012 Conference, May 15-16, 2012: http://camelone.com
FuseSource
Email: [email protected]
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Reply via email to