akka群集单例代理无法识别none leader节点上的参与者
我试图构建一个两节点的akka集群,两个节点都配置为种子节点。在每个节点上,我创建actor并通过以下方式定位它:akka群集单例代理无法识别none leader节点上的参与者,akka,akka-cluster,Akka,Akka Cluster,我试图构建一个两节点的akka集群,两个节点都配置为种子节点。在每个节点上,我创建actor并通过以下方式定位它: akka { //loglevel = "DEBUG" log-config-on-start = on actor { provider = "akka.cluster.ClusterActorRefProvider" } remote { log-remote-lifecycle-events = off netty.tcp
akka {
//loglevel = "DEBUG"
log-config-on-start = on
actor {
provider = "akka.cluster.ClusterActorRefProvider"
}
remote {
log-remote-lifecycle-events = off
netty.tcp {
hostname = "127.0.0.1"
port = 0
}
}
cluster {
seed-nodes = [
"akka.tcp://ClusterSystem@127.0.0.1:2551",
"akka.tcp://ClusterSystem@127.0.0.1:2552"
]
roles = [
"transport"
]
auto-down = on
}
}
final String SINGLETON_GROUP = "client";
getContext().system().actorOf(
ClusterSingletonManager.defaultProps(
Props.create(ClientActor.class, channelActive.getCtx()),
loginMessage.getId(),
PoisonPill.getInstance(),
"transport"
), SINGLETON_GROUP
);
private ActorRef getActor(String id) {
ActorRef remoteActor = getContext().system().actorOf(
ClusterSingletonProxy.defaultProps("user/" + SINGLETON_GROUP + "/" + id,
"transport"));
return remoteActor;
}
我所期望的是,我可以在任何节点上创建一个actor,并在任何地方找到它,只要我得到它的singletonPath。
但是,结果是:getActor()只在“leader”节点上工作,不能在其他节点上识别。
如果我对clusterSingleton有错误的理解 请验证您是否正在使用
provider=akka.cluster.ClusterActorRefProvider
或只是粘贴您的应用程序。connf
嗨,我发布了应用程序。conf,我正在使用ClusterActorRefProvider