Одной из особенностей модели актера в Erlang является прозрачное распределение. Если я не ошибаюсь, когда вы отправляете сообщения между участниками, вы теоретически не должны предполагать, что они находятся в одном пространстве процессов или даже находятся на одной физической машине.
У меня всегда было впечатление, что распределенные, отказоустойчивые системы требуют тщательной разработки приложений для решения неотъемлемых проблем вокруг порядка/причинности и consensus (среди прочих).
Я уверен, что Эрланг не обещает разрешить эти классы проблем прозрачно, поэтому мой вопрос в том, как справляются с этим разработчики Erlang? Вы разрабатываете свое приложение так, как будто все участники находятся в одном и том же пространстве процессов, а затем решают проблемы с дистрибутивом, когда наступает время их фактического распространения?
Если это так, является ли эта прозрачная функция распределения Erlang действительно просто связана с проводным протоколом, используемым для удаленного обмена сообщениями, и не является действительно прозрачным в том смысле, что истинное распределенное приложение все еще требует тщательной разработки на прикладном уровне?