Аккалар не видит друг друга - PullRequest
0 голосов
/ 27 февраля 2019

В Akka я добавляю две разные машины в кластер.Но есть некоторые проблемы.Если 2 машины встают одновременно, 2 стороны уходят как лидер и не видят друг друга. Или из-за схожих проблем они не видят друг друга.Вы знаете, есть ли у него решение?

1 Ответ

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

Зависит от того, как вы настроили кластер, например: 1) жестко запрограммирован в списке начальных узлов в вашем application.conf: должен работать напрямую, если обе машины могут связаться друг с другом 2) механизм обнаружения с помощью config, dns,tag (aws) (предоставляется lightbend): пример для конфигурации:

akka.management {
  contact-point-discovery {
    required-contact-point-nr = 2
    service-name = "MyApp"
    discovery-method = akka.discovery
  }
}

и запись

akka.discovery {
  method = config
    config {
      class = "akka.discovery.config.ConfigSimpleServiceDiscovery"

      # Location of the services
      services-path = "akka.discovery.config.services"
      # hosts
      services {
        MyApp { //name should match the name set in akka-management.conf for service-name (https://developer.lightbend.com/docs/akka-management/current/bootstrap/local-config.html)
          endpoints = [
            {
              host = "127.0.0.1"
            },
            {
              host = "127.0.0.2"
            }
        ]
      }
    }
  }
}

, где хостами будут те, которые соответствуют вашим машинам.Обратите внимание, что для этого требуется "com.lightbend.akka.discovery" %% "akka-discovery-config" определенной версии в вашем файле сборки.При обнаружении вам также необходимо вызывать AkkaManagement (actorSystem) .start () и ClusterBootStrap (actorSystem) .start () при запуске каждого узла.

Так что действительно зависит от вашей конфигурации.

...