Создание актеров без явного знания их по имени

1

Я с нетерпением жду использования AKKA (с Java) для иерархической системы распределенных агентов, относительно независимых друг от друга. Был бы один координационный актер, которому дано сообщение. Он должен создать несколько дочерних акторов, не зная их явно, и направлять им сообщение. Актеры детей расширяют класс AppWorker по контракту.

Я подумал об использовании отражения, чтобы просто подобрать все классы, которые простираются от AppWorker, и создать экземпляр каждого из них. Возможно, AKKA имеет лучший способ сделать это, о чем я, возможно, не знаю. Моя большая проблема заключается в том, что, явно вызвав actorOf, я позже смогу настроить приложение для масштабирования более чем на одну машину. Я хочу сохранить AKKA полную свободу создания балансировки нагрузки между машинами.

Как бы вы это сделали?

Теги:
akka
actor
routing

1 ответ

0

AKKA создает актеров в иерархическом порядке. Во-первых, создается родительский актер, который, в свою очередь, создает детей для выполнения требуемого набора субтаксов. Создайте класс одного координационного актера и создайте актера AKKA следующим образом: 1. Создайте актерскую систему с именем класса одного координационного актера. 2. Используйте метод actorOf() для системы актеров и создайте родительского актера.

Теперь создайте дочерних актеров, вызвав метод actorOf() родительского актера и используя метод withRouter(). Вы можете указать количество дочерних субъектов, которые вы хотите создать в файле conf. Также вы можете указать стратегию надзора, которую вы требуете, при запуске дочерних актеров.

Для всех исследований AKKA, посвященных актерам, и как их инициировать, обратитесь к http://doc.akka.io/docs/akka/2.3.9/general/actor-systems.html и http://doc.akka.io/docs/akka/2.3.9/general/actors.html.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню