3 ms·
Erlang's built-in distribution works well for cluster management and low-traffic control plan, but not for the critical path / data plan [1]. In the later OTP
by nivertech 6y ago
Erlang's built-in distribution works well for cluster management and low-traffic control plan, but not for the critical path / data plan [1].
In the later OTP releases Erlang distribution has become much better and become useful even for data plan in less demanding scenarios.
While it is possible to customize Erlang distribution for your specific network/workload, it is much easier to use plain TCP sockets for your data plan (back in the day I used 0MQ for data plan in the cluster).
Also riak and ejabberd (via Mnesia) use Erlang distribution for critical path and this was one of the reason for their poor performance.
I think you mean that ejabberd is not a cloud-native application (i.e. it treats nodes like pets instead of cattle).
Modern BEAM apps are implementing cluster node-autodiscovery (I did it for my first Erlang service on AWS in 2010).
I'm not sure, but I think RabbitMQ uses the Erlang distribution for management only.
Phoenix apps using PubSub and Presence/Tracker will also use Erlang distribution by default, but it can be switched to use other backends, i.e Redis-based PubSub.
[1] https://www.slideshare.net/nivertech/erlang-on-osv-49278675#89 https://www.slideshare.net/nivertech/erlang-on-osv-49278675#...