Как удаленно развернуть актора с динамическим именем в Akka.NET

Когда я смотрю на образцы удаленного развертывания актера Akka.NET, это делается с помощью конфигурации системы актера следующим образом:

actor {
    provider = ""Akka.Remote.RemoteActorRefProvider, Akka.Remote""
    deployment {
        /MyActor {
            remote = ""akka.tcp://[email protected]:8091""
        }
    }
}

Строка «MyActor» выше — это фактическое имя актера. Мне непонятно, как мне развернуть актера с динамическим именем (например, «MyActor: {UID}») или удаленно развернуть неизвестное количество актеров? Есть ли способ динамически настроить параметры развертывания с помощью кода? Кажется немного утомительным и очень ограниченным указывать в конфигурации имена всех удаленно развертываемых акторов.


person Slobodan Savkovic    schedule 19.04.2016    source источник


Ответы (2)


Вы можете установить параметры развертывания, используя реквизиты актера, например: Props.Create(() => new MyActor).WithDeploy(new Deploy(new RemoteScope("akka.tcp://remote-system-name@ip:port/"))).

person Bartosz Sypytkowski    schedule 20.04.2016

Обходной путь, который приходит мне на ум, состоит в том, чтобы удаленно развернуть одного актера-наблюдателя с фиксированным именем и использовать его в качестве «прокси» для создания и, возможно, связи со всеми другими дочерними актерами с динамическими именами.

person Slobodan Savkovic    schedule 19.04.2016