Exploring best practices for building distributed Erlang systems - would love to hear about your real-world experiences

Hi everyone :grinning_face:,

I’m exploring best practices for building distributed Erlang systems and would love to hear about your real-world experiences. I have three main questions:

1. Supervision Tree Distribution Strategy

When building distributed Erlang applications, how do you typically approach distribution?

  • Do you distribute entire supervision trees by application?

  • Or do you distribute only specific processes within the supervision tree?

2. Distribution Libraries and Extensions

Do you use the native Erlang distribution model, or do you leverage external libraries/extensions such as:

  • Partisan

  • SD Erlang

  • Other solutions?

If you use external tools, what motivated that choice over the native approach?

3. Production Scale

  • What’s the maximum number of BEAM nodes you’ve successfully run in production?

  • What lessons learned or challenges did you face at that scale?

I’d really appreciate any insights you can share from your production experience. Thanks in advance!

5 Likes