具有指定应处理请求的服务器的自定义负载平衡器

Custom Load Balancer with capability to Specify Server that Should Process Request

如何实现自定义负载平衡决策方法来指定具体应由哪个服务器处理请求?

目前,我正在使用 Azure,因此 MS 解决方案更可取(ARR 或 WLBS)。

每个服务器实例可能有几个独特的资源("unique" 意味着只有这个特定的服务器实例拥有它)。 应用程序为每个资源创建一个唯一的 ResourceID,并将此 ResourceID 提供给客户端 "on demand"。 客户端的进一步请求由 ResourceID 指定。

自定义负载均衡器决策方法应该允许我指定如何:

P.S。也许我应该在这里说 "proxy" 而不是 "load balancer"。但是为了高可用性,它需要多个代理服务器和负载均衡器来分散它们之间的流量。因此,纯代理解决方案只会为应用程序带来另一层。

我在 IIS.NET 论坛上发现了两个有用的话题:

Custom load balancing decision function

using URL Rewrite Module for custom load balancing

推荐两种主要方法:

  • 使用自定义负载平衡。

  • 使用自定义应用程序请求路由 (ARR)。

最有意思的是,不同的线程相互推荐使用:)

尽管如此,我还是会回顾一下建议的方法。