Reputation: 2412
Right now we only have a single node running the whole system. What we want is to make a distinction between "frontend" nodes, and a single "backend" node.
This distinction is needed due to some reasons:
We have connected the actors living on the frontend node with the ones living on the backend. We've done so instantiating the backend node ActorRef
s from the frontend using the akka.cluster.singleton.ClusterSingletonProxy
, and the ClusterSingletonManager
while really instantiating them in the backend.
How we do the deploy taking into account the Akka cluster node downing notification?
As far as I understood by the Akka Cluster documentation about downing, and some comments on the akka mailing list, the recommended approach while dealing with that process would be something like:
akka-cluster
bash script together with the jmxsh-R5.jar
on a resources/bin/
folder (for instance)build.sbt
):
mappings in Universal ++=
(baseDirectory.value / "resources" / "bin" * "*" get) map
(bin => bin -> ("bin/" + bin.getName))
bin/akka-cluster %node_to_be_deployed:port% down
bin/akka-cluster %deployed_node:port% join
Doubts:
down
and join
?Thanks!
Upvotes: 3
Views: 920
Reputation: 595
To avoid downing manually, cleanup when a node is terminated, see: http://doc.akka.io/docs/akka/current/scala/cluster-usage.html#How_To_Cleanup_when_Member_is_Removed
Regarding your points:
PS.:
- Coordinated shutdown will be improved in akka 2.5, see:
https://github.com/akka/akka-meta/issues/38
- If you want to manage your cluster using a http API, see: http://developer.lightbend.com/docs/akka-cluster-management/current/
Upvotes: 1