Прежде всего, просто потому, что вы не упомянули об этом, это необходимо только для кластера Akka.
Для разработки используйте localhost
в качестве начального узла.Выберите один из узлов, которые вы всегда будете использовать при локальной работе:
akka {
remote.netty.tcp {
hostname = localhost
port = 2551
}
cluster.seed-nodes = ["akka.tcp://esc@localhost:2551"]
}
Просто убедитесь, что вы используете порт этого одного приложения в качестве порта начального узла.
Любые последующие узлы, которые должны затемдля локального присоединения к этому кластеру потребуется такая конфигурация:
akka {
remote.netty.tcp {
hostname = localhost
port = 0 # automatically select; alternatively choose fixed port different from 2551
}
cluster.seed-nodes = ["akka.tcp://esc@localhost:2551"]
}
Это позволит вам локально запускать несколько приложений Akka.
У вас также может быть дополнительное приложение, выступающее в качестве начального узла (затем работает с двумя экземплярами позже в производстве).Это просто запустит систему акторов, а затем будет ждать присоединения других узлов.Мы сделали это некоторое время назад, но я не слишком уверен, что это хорошая идея.Может быть, посмотрите на Boosttrap кластера Akka Management .
Может быть, также для пояснения, так как из-за моего опыта возникает такая путаница: исходные узлы не обязательно выступают в качестве Лидера в кластере.,Они (из-за их настройки для других узлов) просто позволяют другим узлам (которым могут быть динамически назначенные IP-адреса / имена хостов) обнаруживать друг друга.См. Также документация .