0

这篇博客讨论了少用ActorSelection来选择演员。

我有一个拥有 10000 个产品参与者的CatalogActorSystem 。所有这些演员都有名字,这实际上是他们的身份。如果我需要访问具有 id 的产品,例如Product_5000并且不应该使用 ActorSelection,我必须在像CatalogActorsCache这样的角色中拥有一个产品角色的集合(用字典或 ICollection 实现) ,并且必须将它们全部迭代到找到合适的。

我不应该使用 ActorSelection 来定位正确的产品,而不是我的任何搜索算法,或者使用带有键作为产品 id的字典吗?

4

1 回答 1

2

如果您有多个具有相同目的的参与者,您可能希望间接访问它们,即在发送者和接收者之间设置另一个参与者。Akka.NET 中的每个 actor 都有其 childrenActorRef的集合。它们可以通过简单地使用来返回Child(actorName)。因此,您可以利用它来发挥自己的优势,让这个演员(我们称之为协调员)能够按需生成您的子(产品)演员和/或在请求时将参考返回给他们。

前段时间我创建了一个例子,它更详细地说明了这个概念。

于 2015-05-22T06:31:58.067 回答