Akka的受监督演员应该直接接收信息还是通过其主管接收信息?

Akka的受监督演员应该直接接收信息还是通过其主管接收信息?,akka,akka.net,actor-model,Akka,Akka.net,Actor Model,我最近看了一个电视节目,但我要问的问题与阿克卡有关。我对他讨论错误监管和监管策略的部分感到困惑。在他的示例中,客户端通过调用worker.Tell(msg,mailbox.Sender())将消息发送给主管,主管将消息转发给工作者参与者。我想知道这种做法有多普遍。在我们的系统中,有几个地方,客户机首先要求主管获取一个worker实例,然后直接给worker打电话。我不喜欢使用Ask,但在我们的情况下,我们需要工作者关联,即来自同一客户端的消息可能需要路由到同一工作者,因此为客户端提供工作者实例可

我最近看了一个电视节目,但我要问的问题与阿克卡有关。我对他讨论错误监管和监管策略的部分感到困惑。在他的示例中,客户端通过调用worker.Tell(msg,mailbox.Sender())将消息发送给主管,主管将消息转发给工作者参与者。我想知道这种做法有多普遍。在我们的系统中,有几个地方,客户机首先要求主管获取一个worker实例,然后直接给worker打电话。我不喜欢使用Ask,但在我们的情况下,我们需要工作者关联,即来自同一客户端的消息可能需要路由到同一工作者,因此为客户端提供工作者实例可以简化这一过程。但再一次,问是不好的。因此,对于受监督的参与者,他们应该通过主管接收消息(以避免询问)还是“视情况而定”

一种解决方案是在使用简单的hasing函数时使用,这样就可以避免向询问者发回引用

new ConsistentHashingPool(5).WithHashMapping(o =>
{
   if (o is IHasCustomKey)
       return ((IHasCustomKey)o).Key;

   return null;
});
欢迎评论