如何在Akka.Net中实现自定义路由

本文关键字:实现 自定义 路由 Net Akka | 更新日期: 2023-09-27 18:08:30

Akka.Net提供了许多开箱即用的路由策略(我们目前使用最小的邮箱和一致的哈希(,但如果想要实现基于策略的自定义路由器,我们称之为Worker Node Load Index,它将根据当前资源消耗在每个节点上单独计算。

我找不到关于这个主题的文档或例子,所以任何信息都将不胜感激。感谢

如何在Akka.Net中实现自定义路由

您可以通过从基本RoutingLogic类派生来创建自己的路由策略:https://github.com/akkadotnet/akka.net/blob/614f1f0e824384f065e7b72e827c1ff937eafca5/src/core/Akka/Routing/Router.cs#L166

总的来说,你的课程可能看起来有点像:

public class CustomRouter : RoutingLogic
{
    public override Routee Select(object message, Routee[] routees)
    {
        return routees.OrderBy(WorkerNodeLoadIndex).First();
    }
    private double WorkerNodeLoadIndex(Routee arg)
    {
        return 0.0; // put your real calculation here
    }
}