Reputation: 96
In the current project we want to run version 2.3.4 of Akka cluster features, but for my purposes would like to do this in Java. And the difficult part is coming from the need of running it inside a CloudFoundry v2 cloud - DEA warden container.
Currently we are running (single instance) the Akka context - without clustering - inside a java web app but we need to escape from this.
We would like to be able to scale the number of running instances and the new instances to join existing cluster. Is there a good way to do it, is there an exiting buildpack for this requirement?
Upvotes: 1
Views: 612
Reputation: 141
The latest Cloud Foundry builds with the TCP router would satify this using the standard Java buildpack. Each Akka tier can expose a number of TCP ports, which would be placed behind a TCP load balancer.
You could use a service discovery service, or something like Redis, to find the various dependent services from your Akka agents.
Upvotes: 1
Reputation: 697
I'm not familiar with Akka, but in general, technologies that do "clustering" aren't going to work out well on a PaaS. For many PaaS's, including Cloud Foundry, you can deploy and "app" and then scale that app to a number of instances. There isn't any built-in method to have these communicate, etc, they're all running as independent instances.
I see from the Akka doc that you can list "seed nodes" which are running at different hosts. So that would be one problem; if the expectation is that each "seed node" is running at a different host, you would have to create an separate app for each of them.
The new Docker-based Containers service in IBM's Bluemix product may be a better fit for what you're trying to do. You could build your Akka system as a set of interacting containers.
Upvotes: 1