Details
-
New Feature
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
Unknown
Description
I've been working on some master/slave RoutePolicy and I'm wondering
if we can have a proper LeaderPolicy with a standardized
implementation in Camel 3.0 so one has only to notify when a
leadership is taken
In addition it may be nice to have:
- a support for Leader election from the CmelContext so the routes are
started when the context become leader. - an option to warm-up routes or to keep them stopped while not leader
Then we can also make it exposed in JMX so tooling are able to detect
which are current master and slaves, and whatnot.
Some possible DSL/EIP extensions:
from("...") .routeId("myRoute") .master() .group("my-group") .consulConfiguration("http://consul-node:8500") .end() . to(...)
camelContext.setDefaultClusteredRouteConfiguration( ClusteredRouteConfiguration.builder() .withAction(ClusteredRouteAction.SUSPEND) .withHealtCheck(...) .consulConfiguration("http://consul-node:8500") .build() ); // lookup the cluster configuration from the registry from("clustered:file:/data") .routeId("data-files") .to(...) // lookup the cluster configuration from the registry from("master:file:/share") .routeId("shared-files") .master() .configuration("...") .end() .to(...)
<camelContext .../> <defaultMasterConfiguration/> <consulConfiguration url="" userName="" password=""/> <defaultMasterConfiguration/> <masterConfiguration id="master-1"/> <consulConfiguration url="" userName="" password=""/> <masterConfiguration/> <!-- this route should pick up the default configuration --> <route id="data-files"> <from uri="master:file:/data"/> <to uri="..."/> <route> <!-- this route should pick up the configuration named master-1 and the master prefix should be optional. --> <route id="shared-files"> <from uri="file:/shared"/> <master configurationRef="master-1"/> <to uri="..."/> <route> </camelContext>
Attachments
Issue Links
- is related to
-
CAMEL-10026 HealthCheck API
- Resolved
-
CAMEL-11362 create a LeaderElectionservice
- Resolved
- relates to
-
CAMEL-11331 camel-kubernetes - Add Kubernetes based RoutePolicy
- Resolved
-
CAMEL-10054 Create camel-atomix component
- Resolved
- supercedes
-
CAMEL-4454 Support for Cluster Singleton routes
- Closed
- links to