gpt4 book ai didi

akka - Akka 中受监督的 actor 应该直接接收消息还是通过其监督者接收消息?

转载 作者:行者123 更新时间:2023-12-02 04:41:34 24 4
gpt4 key购买 nike

我最近看了一个 great video by Riccardo Terrell about Akka.NET and F#但我要问的问题一般与 Akka 有关。我对他讨论主管和错误监督策略的部分感到困惑。在他的示例中,客户端将消息发送给主管,主管通过调用 worker.Tell(msg, mailbox.Sender()) 将消息转发给 worker actor。我想知道这种做法有多普遍。在我们的系统中,有几个地方客户首先要求主管获得工作人员实例,然后直接向工作人员发出 Tell 调用。我不喜欢使用 Ask,但在我们的例子中,我们需要 worker affinity,即来自同一个客户端的消息可能需要路由到同一个 worker,所以给客户端一个 worker 实例可以简化这个过程。但同样,Ask 不好。因此,如果是受监督的 Actor ,他们应该通过监督者接收消息(以避免询问)还是“视情况而定”?

最佳答案

一个解决方案是使用 hashing pool当使用简单的 hasing 函数时,这样你就可以消除向提问者发回引用。

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

return null;
});

欢迎任何评论!

关于akka - Akka 中受监督的 actor 应该直接接收消息还是通过其监督者接收消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37100013/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com