使用 ConsistentHashmapping 时,如何在运行时将参与者添加到 akka.net 中的组或池中?

How to add actors during runtime to group or pool in akka.net when using ConsistentHashmapping?

我想在池(组?)中添加和删除参与者,该池(组?)应该使用一致的哈希映射通过路由器接收消息(消息具有与实体路径一致的 ID)。 但是在创建池之后,只有 IActorRef 返回,我不知道如何"Tell" 添加新的 Actors。

我已经阅读了一些关于路由的教程和提示,例如:https://github.com/petabridge/akka-bootcamp/tree/master/src/Unit-3/lesson2 但是这些不合适。

也许我需要自己用这些消息编写一个路由器?

Akka.Routing 包中有预定义消息,允许添加和删除新路由。您可以在 Akka.net here 中找到代码行。例如,以下代码将 IActorRef 添加到现有路由器(我使用 ConsistentHashingGroup 对此进行了测试):

var routee = Routee.FromActorRef(actor);
router.Tell(new AddRoutee(routee));

有点烦人的是,我不得不翻阅源代码以找到执行此操作的方法,因为它不是 petabridge 训练营的一部分(或者我是否忽略了它?)而且我没有找到答案其他任何地方,尽管我认为这是一个非常典型和常见的场景。该文档在该领域有些简陋。

希望这可以帮助那里的人节省一些时间,并在软件领域做一些更有趣的事情来使用 Akka.net 进行开发,而不是搜索如何使用这个框架。 ;-)