Ошибка удаленного развертывания маршрутизатора кластера Akka.net - PullRequest
0 голосов
/ 25 декабря 2018

Пытается настроить пул кластерного маршрутизатора, и локальный субъект запускается нормально, но я получаю исключение, когда первая удаленная система присоединяется к кластеру.

Это 1 против решения с 3 проектами - начальные, вторичные и общие сообщения / классы.

[ERROR][12/25/2018 2:30:10 AM][Thread 0004][akka://test/user/RRPool] Error while creating 
        actor instance of type Akka.Actor.ActorBase with 0 args: ()
Cause: [akka.tcp://test@spectre:49824/remote/akka.tcp/test@spectre:8080/user/RRPool/c2#1149667581]: 
Akka.Actor.ActorInitializationException: > Exception during creation ---> 
        System.TypeLoadException: Error while creating actor instance of type 
    Akka.Actor.ActorBase with 0 args: () ---> 
    System.InvalidOperationException: No actor producer specified!    
        at Akka.Actor.Props.DefaultProducer.Produce()
        at Akka.Actor.Props.NewActor()

Я пытался:

  • , чтобы переместитьактер в общий проект
  • для добавления actor.deployment в удаленной системе

Но пока безуспешно.

Запуск маршрутизатора и тестирование. Скажите:

var router = sys.ActorOf(Props.Create<sharedProj.PoolRouter>()
                .WithRouter(FromConfig.Instance), "RRPool");
router.Tell("Main Service telling me something");

Я поместил свою конфигурацию в код с переменными для тестирования / изучения ради.Единственная разница между конфигурацией начального узла и вторичным узлом - это порт 0.

 "akka {
    actor.provider = cluster
    loglevel = """ + logInfo + @"""   

    remote {
        dot-netty.tcp {
            port = " + myPort + @"
            hostname = " + name + @"
            public-hostname = " + name + @"
        }
    }

    actor.deployment {
        /RRPool {
            router = round-robin-pool # routing strategy
            nr-of-instances = 10 # max number of total routees
            cluster {
                 enabled = on
                 allow-local-routees = on                     
                 max-nr-of-instances-per-node = 1                
            }
        }
    }

    cluster {            
        seed-nodes = [""" + seed + @"""]            
    }               

    extensions = [""Akka.Cluster.Tools.PublishSubscribe.DistributedPubSubExtensionProvider,Akka.Cluster.Tools""]
}"; 
...