slashdotdash
Distributed Elixir cluster across multiple AWS availability zones in same region
Does anyone have experience, advice, or thoughts on running an Elixir/Erlang cluster distributed across multiple AWS availability zones (AZ), but within a single region?
I want to replicate the deployment architecture detailed in the AWS start kit templates, as shown below, for an Elixir application. This consists of an application load balancer distributing incoming traffic between two auto scaling groups residing within two separate availability zones, both within one geographic AWS region.
One approach to forming the cluster on node start is to use the AWS command line tools to fetch the IPs of running instances in the Auto Scaling group (or use a custom tag you set), to populate a .hosts.erlang file. As described in clustering your Elixir application on AWS inside an Auto Scaling Group.
I cannot find much advice about whether multi AZ is a good idea for distributed Erlang cluster. Would standard Erlang message passing be acceptable to use, or would it be necessary to use an alternate way of messaging between the AZs?
First Post!
dschniepp
Thank you for bringing this up! We are doing more or less the same via aws elastic beanstalk but we use the https://github.com/kyleaa/libcluster_ec2 strategy to detect the nodes. We have not used the setup in production yet. so we are also curious to hear if it is a good idea or not.









