Целевые узлы Akka для удаленной маршрутизации - PullRequest
0 голосов
/ 04 марта 2019

Я создал удаленную среду для развертывания маршрутов, используя следующее:

Маршрутизаторы с удаленными адресатами

deployment {
  /router1 {
    router = round-robin-pool
    nr-of-instances = 7
    cluster {
      enabled = on
      allow-local-routees = off
      max-nr-of-instances-per-node = 3
      use-roles = ["backend"]
      target {
        nodes = ["akka.tcp://ClusterSystem@127.0.0.1:2560", "akka.tcp://ClusterSystem@127.0.0.1:2570"]
      }
    }
  }
}

Это не работает.В конце любого нового узла, который присоединяется, будут развернуты маршруты к нему.Я думал, что эта конфигурация означает, что «только» на целевых узлах будут развернуты маршруты, но вместо этого она развертывается на «любом» новом узле.

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

1 Ответ

0 голосов
/ 05 марта 2019

Как упомянуто в документации Akka

akka.actor.deployment {
    /parent/remotePool {
        router = round-robin-pool
        nr-of-instances = 10
        target.nodes = ["akka.tcp://app@10.0.0.2:2552", "akka.tcp://app@10.0.0.3:2552"]
    }
}

Приведенная выше конфигурация клонирует актера, определенного в Props из remote pool 10 раз, и развертывает егоравномерно распределены по двум заданным целевым узлам.

Примените эту конфигурацию

deployment {
    /router1 {
        router = round-robin-pool
        nr-of-instances = 7
        target {
            nodes = ["akka.tcp://ClusterSystem@127.0.0.1:2560","akka.tcp://ClusterSystem@127.0.0.1:2570"]
        }
    }
}

Убедитесь, что ClusterSystem в 127.0.0.1:2560 и ClusterSystem в 127.0.0.1:2570 работают.

...