簡體   English   中英

群集中的分片遷移期間的Akka Actor內部狀態

[英]Akka Actor internal state during shard migration in a cluster

我們正在使用Akka分片在多個節點上分布我們的跑步演員。 這些參與者是持久的,我們將其內部狀態保留在數據庫中。

現在,我們需要將ActorRef添加到“ metrics actor”,並在每個節點上運行。 分片中的每個參與者都應該將遙測數據發送到指標參與者-它必須選擇在同一節點上本地運行的正確指標參與者。 原因是,Metric actor收集數據對等節點。

現在,我只是想在Main方法中創建Metric actor(該方法最初在每個節點上運行):

val mvMetrics : ActorRef = system.actorOf(MetricsActor("mv"), "mvMetrics")

然后將該引用傳遞給ClusterSharding初始化,作為Actors props對象的一部分:

    ClusterSharding(system).start(
        typeName = shardName,
        entityProps = MyShardActor.props(mvMetrics),
        settings = ClusterShardingSettings(system),
        extractEntityId = idExtractor,
        extractShardId = shardResolver)

我的問題是,如果這樣創建的參與者在節點之間遷移,例如從節點A-> B遷移,會發生什么? 我可以想象節點B上遷移的props對象與節點A上的對象相同,因此ActorRef保持不變,因此新創建的actor將向原始節點A發送指標數據?

謝謝

如何利用ActorRef.path? 想象每個節點都有以某種方式命名的actor,然后actor將使用該路徑動態找到相關的度量actor。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM