Akka - обнаружение удаленного кластера - PullRequest
1 голос
/ 19 апреля 2019

Я настраиваю кластер Akka для возможности подключения к другим узлам с помощью удаленного взаимодействия артерий. Я следовал следующему руководству, чтобы настроить пару локальных узлов для имитации этого эффекта (https://developer.lightbend.com/docs/akka-management/current/bootstrap/local-config.html),, и он работает. Вот мой файл конфигурации:

akka {
  loglevel = INFO

  actor {
    provider = "cluster"
  }

  remote {
    artery {
      enabled = on
      transport = tcp
      hostname = "MY_PUBLIC_IP_ADDRESS(130.231.......)"
      canonical.port = 2551
    }
  }


}

#coorindated-shutdown
akka.cluster.shutdown-after-unsuccessful-join-seed-nodes = 30s
akka.coordinated-shutdown.exit-jvm = on
#coorindated-shutdown

#discovery
akka.discovery {
  config.services = {
    local-cluster = {
      endpoints = [
        {
          host = "127.0.0.2"
          port = 8558
        },
        {
          host = "127.0.0.3"
          port = 8558
        }
      ]
    }
  }
}
#discovery

#health
akka.management.health-checks {
  readiness-path = "health/ready"
  liveness-path = "health/alive"
}
#health

akka.management.http {
  route-providers-read-only = false
}

#bootstrap
akka.management {
  cluster.bootstrap {
    contact-point-discovery {
      service-name = "local-cluster"
      discovery-method = config
    }
  }
}
#bootstrap

Теперь, когда я запускаю точно такой же экземпляр программы на другом компьютере с другим IP-адресом и предоставляю этот IP-адрес в akka.discovery.config.services.local-cluster.endpoints, загрузчик полностью завершается неудачно (ему даже не удается обнаружить ранее работающий 127.0 .0.2 адресов), давая мне Соединение отклонено сообщениями об ошибках однорангового узла.

Любая идея, какие другие настройки мне не хватает, чтобы сделать эту работу в полной удаленной ситуации? Спасибо!

1 Ответ

0 голосов
/ 20 апреля 2019

Мое решение этой проблемы в конечном итоге заключалось в том, чтобы перейти к настройке начального узла (больше не нужно обнаруживать) и жестко закодировать IP-адреса в следующем формате: akka://{CLUSTER_NAME}@{REMOTE_IP}:{PORT}

...