Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Akka 如果碎片演员a询问另一个演员B,但a在B回应之前被重新定位,会发生什么?_Akka_Akka Cluster_Akka Persistence - Fatal编程技术网

Akka 如果碎片演员a询问另一个演员B,但a在B回应之前被重新定位,会发生什么?

Akka 如果碎片演员a询问另一个演员B,但a在B回应之前被重新定位,会发生什么?,akka,akka-cluster,akka-persistence,Akka,Akka Cluster,Akka Persistence,假设我们有两个节点。节点1包含参与者A,节点2包含参与者B 假设两个参与者之间的通信是这样实现的: val B_ref = sharding.entityRefFor(BTypeKey, B_ID) //inside A context.ask(B_ref, message(replyTo =_) { //... Translate B reply to A command } 消息发送后,节点1死亡,参与者A重新定位。等待B回复的问题的“未来”会怎样?我假设由于节点死亡,未来就不

假设我们有两个节点。节点1包含参与者A,节点2包含参与者B

假设两个参与者之间的通信是这样实现的:

val B_ref = sharding.entityRefFor(BTypeKey, B_ID)

//inside A

context.ask(B_ref, message(replyTo =_) {
   //... Translate B reply to A command
}

消息发送后,节点1死亡,参与者A重新定位。等待B回复的问题的“未来”会怎样?我假设由于节点死亡,未来就不存在了。实际上,B的答复将变成一封死信


我的理论正确吗?

上下文。提问不会产生未来,而是一条经过调整的信息。由于
ActorContext
不知道该参与者只是集群切分实体的化身,因此您的基本直觉是有效的:不会提供来自B的回复