Что произойдет с почтовым ящиком, прикрепленным к удаленному субъекту, если субъект выйдет из строя

Если удаленный актер умирает, родительский актер получает уведомление, но что происходит с почтовым ящиком, прикрепленным к удаленному актеру? Если нет способа получить его, то как мы можем сказать, что akka отказоустойчива?


person Marut Singh    schedule 12.05.2016    source источник


Ответы (1)


Один из способов — реализовать Akka Persistence:

По умолчанию постоянный субъект автоматически восстанавливается при запуске и перезапуске путем воспроизведения зарегистрированных в журнале сообщений. Новые сообщения, отправленные постоянному субъекту во время восстановления, не влияют на воспроизводимые сообщения. Новые сообщения будут получены постоянным участником только после завершения восстановления. http://doc.akka.io/docs/akka/2.4.4/java/lambda-persistence.html#Recovery

Вы также можете убедиться, что ваш удаленный актор, которому вы отправляете сообщения, является супервизором, который порождает акторов для обработки удаленных запросов. Таким образом, работа и сбои контролируются этими дочерними элементами, а не вашим основным удаленным приемником актера.

person BatteryAcid    schedule 12.05.2016
comment
Постоянный актор — жизнеспособный вариант, который, как я вижу, ничем не отличается от использования JMS, хотя постоянный акка может быть более эффективным. Вторую часть ответа я не нахожу актуальной, потому что мы беспокоимся о том, что работа будет потеряна. Установите всю эту концепцию отказоустойчивости... в обычном синхронном мире, если удаленная служба умирает, я теряю только один запрос... но в мире акка уничтожается вся очередь, которая может иметь тысячи запросов в своей очереди во время сбоя. Я не вижу, если это что-то не встроенное в akka, как ему можно доверять как лучший инструмент разработчиков для написания отказоустойчивого программного обеспечения. - person Marut Singh; 14.05.2016