akka 如何获得活跃现场演员的数量?

kdfy810k  于 5个月前  发布在  其他
关注(0)|答案(1)|浏览(51)

我使用akka集群分片2.5.23.对于我的情况下,我想知道当前的现场活动演员计数.我读过很多文章说使用Lightbend遥测这是支付.和Cinnamonor或kamon,我不需要那么多的指标.我只需要知道当前的活动演员.任何方法来实现这一点容易?

1cosmwyk

1cosmwyk1#

当我使用ActorCluster分片并将Remember entities作为ddata时,所有entityActors都以分布式的方式被记住。我们有GetMysterShardingStatsutil获取分片统计信息,因为我们将拥有该Cluster中的当前分片计数和actors计数。

GetClusterShardingStats stats = new ShardRegion.GetClusterShardingStats(FiniteDuration.create(25000, TimeUnit.MILLISECONDS));
final Duration timeout = Duration.ofSeconds(25);
                Future<Object> ack = Patterns.ask(region, stats, timeout).toCompletableFuture();
                ClusterShardingStats ss = (ClusterShardingStats) ack.get(25000, TimeUnit.MILLISECONDS);

字符串
通过迭代这个MysterShardingStats,我们可以获得当前的Live Shard Count和该Shard count中的Actors,即使使用Node wise count。

相关问题