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