Не удалось создать локальных актеров на уровне узла в кластере Akka.Net - PullRequest
0 голосов
/ 10 октября 2019

Мы пытаемся создать пару действующих лиц уровня узла [маршрутизаторы пула] для администрирования уровня приложения, локальной маршрутизации и регулирования.

Роль, специфичная для узла, упоминается как целевая роль для этих участников для СТРОГО локальной маршрутизации.

Ниже приведен пример кода и hocon.

//// In App Start - Actor is initialized and stored in static container
var props = Props.Create(() => new ThrottlerActor()).WithRouter(FromConfig.Instance);
actorSystem.ActorOf(props, "ThrottlerActor");

## hocon ##
/ThrottlerActor{
    router = round-robin-pool
    nr-of-instances = 100
    cluster {
        enabled = on
        allow-local-routees = on
        max-nr-of-instances-per-node = 10
        use-role = node1
    }
}

Но когда мы отправляем сообщение этому субъекту, оно ведет себя как кластерный субъект. Он перенаправляет сообщение n + 1-е [n ​​= max-nr-of-instances-per-node] аналогичному субъекту в другом узле. Похоже, что настройка роли была проигнорирована.

Мы даже пытались отключить кластеризацию [cluster -> enabled = off И также путем удаления конфигурации кластера из hocon]. Но это не сработало. В тот момент, когда этот маршрутизатор создается под опеку пользователя, субъект ведет себя так, как если бы он был кластерным актером.

Пожалуйста, сообщите.

1 Ответ

0 голосов
/ 22 октября 2019

Мы даже пытались отключить кластеризацию [cluster -> enabled = off И также путем удаления конфигурации кластера из hocon]. Но это не сработало. В тот момент, когда этот роутер создается под пользователем-хранителем, он ведет себя так, как будто он кластерный актер.

Так что мне кажется, что ваш HOCON загружен неправильно. У вас не может быть маршрутизатора, который маршрутизирует на кластерные маршруты на других узлах с cluster.enabled = off внутри его развертывания. Код, необходимый для прослушивания кластера, в первую очередь исключается.

Попробуйте полностью удалить раздел кластера и работать в обратном направлении. Похоже, ваша проблема в том, какая конфигурация загружается / откуда она берется, а не ошибка в Akka.NET.

...