作为Akka Singleton集群的实例成员,如何在Akka Cluster Singleton Pattern中订阅成为LEADER的事件。
application.conf如下:
akka {
actor {
provider = "akka.cluster.ClusterActorRefProvider"
deployment {
/singleton/registerService/workerRouter {
router = consistent-hashing-pool
nr-of-instances = 100
cluster {
enabled = on
max-nr-of-instances-per-node = 3
allow-local-routees = on
use-role = registers
}
}
}
}
remote {
log-remote-lifecycle-events = off
netty.tcp {
hostname = "127.0.0.1"
port = 0
}
}
cluster {
seed-nodes = [
"akka.tcp://PashRegister@127.0.0.1:2051",
"akka.tcp://PashRegister@127.0.0.1:2052"]
auto-down-unreachable-after = 5s
roles = ["registers"]
}
}
答案 0 :(得分:4)
群集单例的想法是它将代表你开始 - 所以当这样的演员开始时它是"领导者" (如"运行单身")。
答案 1 :(得分:0)
如果领导者改变时要通知问题(比如说第一个开始的单身人士被击倒的话),那么我发现知道谁是领导者的唯一方法就是做以下事情:
基本上我正在重新实施选择新领导者的逻辑。 希望有所帮助。