我试图使用DistributedPubSubExtension
将某个演员的存在/位置广播到akka群集,但是还没有找到一种可靠的方法来确定这些消息何时会实际存在被广播到集群。
我最初使用SubscribeAck
作为信道已准备好的信号,但该消息到达时不考虑群集中节点的状态。
接下来,我使用MemberUp
和CurrentClusterState
作为信号,但消息仍未到达其他节点上的订阅者。
我仍然使用MemberUp
和CurrentClusterState
作为信号来设置我的演员存在的system.scheduler.scheduleOnce
到Publish
,并且最终被订阅者接收其他节点。但是,当时间恰好关闭时,任意 sleeps 似乎是未来失败的可靠方法。
当我实际到达Publish
的其他节点时,是否有更好的指标,或者我是否需要滚动自己的发现,例如在已知商品上手动调用 discovery actor它出现时每个节点上的路径?