Are there any good solutions for deploying akka clustered applications in docker containers running under AWS/ECS? While there are proposed solutions for AWS/EC2 with autoscaling, none of them targets AWS/ECS. In a nutshell, the issue is this:
If your cluster-nodes are implemented as docker containers, and formalized as ECS tasks that are members of an ECS service (in an ECS cluster), then when they are started and stopped (by ECS) in response to load, their IP addresses are impossible to predict. It is not possible to configure a fixed set of seed nodes at known IP addresses unless these seed nodes are managed independently of ECS automatic management. And, of course, having fixed, known seed nodes becomes problematic if/when these nodes fail.
I could roll my own solution using a key/value store like redis, where whenever a node comes up, it first publishes its IP addresses (and port, if not common) to the key/value store, and then queries that store to configure its seed nodes. Care would have to be taken to clean up old entries when nodes fail, of course. But it seems like I shouldn't be the first person to run into akka-cluster issues on AWS/ECS and that other solutions might be out there. Unfortunately, I've found none.
Any ideas?
-- Eric