Я случайно прочитал диссертацию Джо Армстронга и не очень хорошо разбирался в Erlang. Интересно, что будет, если квитанция о доставке какого-то сообщения так и не придет. Что делает отправляющий актер? Он отправляет сообщение в другой раз? Это может сбить с толку актера-получателя, когда он получит то же сообщение в другой раз. Он должен иметь возможность сказать, что его получение не было получено, и поэтому второе сообщение недействительно.
Подобные проблемы всегда удерживали меня от решений, в которых доставка сообщений не является транзакционной. Думаю, я знаю ответ: отправляющий субъект сообщает своему контролирующему субъекту, что что-то должно быть не так, если он не получил квитанцию в разумные сроки, заставляя супервизор предпринять какие-то действия (например, перезапустить задействованных акторов или что-то в этом роде). Это правильно? Я не вижу другого решения, которое не привело бы к теоретически возможным бесконечным отправкам сообщений.
Спасибо за любой ответ, Оливер