There is no one answer to your question. Different endpoints support
different options for clustering and fail over.

I do cover those topics in the following chapters of
Camel Design Patterns book:

15. Service Instance Pattern
16. Singleton Service Pattern

And here are some related posts:

http://www.ofbizian.com/2014/01/masterslave-failover-for-camel-routes.html
http://samples.leanpub.com/camel-design-patterns-sample.pdf

HTH,



On 22 July 2016 at 19:38, David Hoffer <dhoff...@gmail.com> wrote:
> We have a standalone Camel app (runs as daemon with no container) that we
> need to cluster and I'm looking for options on how to do this.
>
> Our Camel app handles file routing.  All inputs are files so exchanges deal
> with byte arrays and the file name.  Destinations are either file folders
> or web-services where we attach the file and call the service to publish.
> Also currently we use JMX to remote manage and monitor.
>
> So how best to cluster this?  Technically what is most important in the
> cluster feature set is fail-over so we can guarantee high availability but
> it would be nice to get load balancing too.
>
> Our app gets its input via local disk folders (which we can convert to
> network shares (e.g. vnx)) or via external SFTP endpoints.  The app has
> about 100 of these folders/sftp endpoints.  So when clustered all the
> routes would be using the network shares instead of local folders.
>
> I'm assuming that file and sftp endpoints should handle this well as they
> already use a file lock to prevent contention. However we would have to
> have a solution for stale file locks for clustered nodes that failed.  How
> would the other nodes know they can delete the locks for failed nodes (but
> only for failed nodes)?
>
> Also since we would now be processing routes concurrently we would have to
> determine if the receiving webservice endpoints can handle concurrent
> connections.  Ideally I'd like to be able to control/tune the concurrent
> nature of each route (across the cluster) so that if needed we could
> limit/stop concurrent processing of a route but still always have fail-over
> cluster node support.
>
> Then there is the JMX issue, right now we have apps to manage and monitor
> route traffic but somehow this would have to be aggregated across all nodes
> in the cluster.
>
> Are there any techniques or frameworks that could help us implement this?
> Any suggestions on approaches that work and what doesn't work?
>
> Thanks,
> -Dave



-- 
Bilgin Ibryam
Camel Committer at ASF & Integration Architect at Red Hat
Blog: http://ofbizian.com | Twitter: @bibryam

Camel Design Patterns https://leanpub.com/camel-design-patterns
Instant Apache Camel Message Routing http://www.amazon.com/dp/1783283475

Reply via email to