我使用akka集群分片2.5.23.对于我的情况下,我想知道当前的现场活动演员计数.我读过很多文章说使用Lightbend遥测这是支付.和Cinnamonor或kamon,我不需要那么多的指标.我只需要知道当前的活动演员.任何方法来实现这一点容易?
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。
1条答案
按热度按时间1cosmwyk1#
当我使用ActorCluster分片并将Remember entities作为ddata时,所有entityActors都以分布式的方式被记住。我们有GetMysterShardingStatsutil获取分片统计信息,因为我们将拥有该Cluster中的当前分片计数和actors计数。
字符串
通过迭代这个MysterShardingStats,我们可以获得当前的Live Shard Count和该Shard count中的Actors,即使使用Node wise count。