Как я могу предварительно запустить объект при запуске кластера? Я нашел способ сделать это, но я думаю, что это не правильный способ сделать. Он состоит из отправки сообщения StartEntity (entityId) в область сегмента на каждом узле. Предположим, у меня есть 1000 объектов для инициализации. Это кажется очень неэффективным (взрыв сообщений в кластере, поскольку каждый узел пытается инициализировать удаленный объект)!
val shardRegion: ActorRef[ShardingEnvelope[Command]] =
sharding.init(Entity(HelloServiceEntity)(createBehavior = ctx => HelloWorldService()))
Seq("S0", "S1").foreach { id =>
shardRegion ! StartEntity(id)
}
Есть ли эффективный способ достичь того, чего я хочу? Я не мог найти официальный пост или документацию об этом. Я делаю это неправильно?