Действительно ли Rust подходит для распределенного программного обеспечения в стиле Erlang?

Мне очень нравится Golang для легкого написания параллельного программного обеспечения, чтобы использовать больше моих ядер процессора на одной машине. Я был немного обеспокоен, узнав, что Go на самом деле не является распространенным (как в языке multi- node concurrency) - что даже Роб Пайк допустил (в GopherCon 2014), что он не был разработан для распределенных вычислений с самого начала, хотя есть пакеты, такие как GoCircuit, который пытается помочь.

Таким образом, в последнее время меня интересовали Erlang и Elixir, из-за усиленной битвой Erlang VM, которая использовалась для распространения приложений по узлам в течение десятилетий.

Но после того, как я узнал, что Rust использует большую часть функций concurrency от Erlang (передача сообщений, сопоставление с образцом), при этом все еще являясь статически типизированным и скомпилированным языком (таким образом, потенциально быстрее), мне было интересно, может ли Rust хорошая альтернатива (помимо Erlang/Elixir) для написания распределенного программного обеспечения multi- node?

Вот некоторые конкретные вопросы, которые указывают на запрашиваемую информацию:

  • Как Rust обрабатывает устойчивость к частичным отказам (подобно тому, как Erlang "разрешает это" крушить "философию через изоляцию процесса)?
  • Предоставляет ли Rust простые в использовании удаленные каналы, передачу сообщений или что-то еще в стандартной библиотеке или готовых пакетах для поддержки обмена данными между машинами?
  • Каковы некоторые особенности Erlang/Exlixir, которые могут быть желательными для распределенного программного обеспечения, но недоступны в Rust?