Я прочитал документацию Akka по отказоустойчивости и контролю, и я думаю их полностью понимаю, за одним большим исключением (без каламбура).
Почему вы вообще хотите/нужно останавливать ребенка-актера???
Единственная подсказка в документах:
Ближе к способу Эрланга является стратегия, состоящая в том, чтобы просто останавливать дочерние элементы, когда они терпят неудачу, а затем предпринимать корректирующие действия в супервизоре...
Но для меня остановка дочернего элемента — это то же самое, что сказать «больше не выполнять этот код», что для меня фактически равноценно развертыванию новых изменений в код, в котором этот актер полностью удален:
- Каждый актор играет какую-то критическую роль в акторной системе.
- Просто остановить актера означает, что у актера в настоящее время больше нет роли, и предполагается, что теперь система может каким-то образом (волшебным образом) работать без нее.
- Итак, опять же, для меня это ничем не отличается от рефакторинга кода, чтобы даже больше не было актора, а затем развертывания этих изменений.
Я уверен, что я просто не вижу леса за деревьями в этом, но я просто не вижу никаких вариантов использования, где у меня была бы эта большая сложная система акторов, где каждый актор выполняет критическую работу, а затем передает ее. к следующему критическому актеру, но затем я останавливаю актера, и волшебным образом вся система продолжает работать идеально.
Короче говоря, остановить актера (для меня) все равно, что вырвать коробку передач из движущегося автомобиля. Как это может быть хорошо/желательно?!?