在Akka中,我向群集添加了两台不同的计算机。但是有一些问题。如果2台机器同时站立,则2侧作为引导者离开并且彼此看不见,或者由于类似的问题,他们也彼此看不见。你知道他有解决办法吗?
答案 0 :(得分:0)
取决于配置群集的方式,例如: 1)在您的application.conf的种子节点列表中进行硬编码:如果两台计算机可以互相访问,则应该直接起作用 2)通过config,dns,tag(aws)(由lightbend提供)发现机制:基于config的示例:
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()。
所以实际上取决于您的配置。