我们可以从shard actor的上下文中创建akka actor吗?

问题描述 投票:0回答:1

我想了解我们是否可以从分片参与者的上下文(从分片参与者内部)创建一个参与者并将一些工作委托给它? 如果我从碎片演员创建演员,有什么限制吗? 这样做的优点和缺点是什么?

akka akka-cluster actorsystem pekko
1个回答
0
投票

可以生成分片演员的子演员。然而,重要的是要记住,分片参与者可以并且将会被分片停止,以便将分片移动到另一个节点。根据分片 Actor 的生命周期中生成子 Actor 的时间,这可能需要坚持应该有一个子 Actor 正在运行:如果子 Actor 作为分片 Actor 启动的一部分生成,则不需要这种持续,但是如果子级是为了响应消息而生成的,那么它可能必须被持久化(无论发送该消息的是什么,都可能将给定实体 ID 的分片参与者视为该实体的“永恒灵魂”的“化身”)。

另一件事需要注意的是,集群分片要求它的参与者能够在有限的时间内关闭自己:如果一个参与者生成子节点,这个时间包括关闭子节点的时间,否则会更有力,不太有序,并且不太可能执行“干净”的关闭。因此,确保儿童演员不会变得反应迟钝尤为重要。

© www.soinside.com 2019 - 2024. All rights reserved.