.net - Windows/.NET 负载分配和平衡

标签 .net asp.net windows load-balancing

是否有经过审查的 Windows 友好型,甚至 .NET 原生的负载分配/负载平衡实用程序,与 HA Proxy 一样?我们有一个 .NET 堆栈产品,我们从堆栈中跳出的一个部分用于负载平衡。

我们需要一些具有可配置的分发规则的东西——也许是子域驱动的——NLB 似乎无法单独提供。如果它直接与 .NET 集成,或者提供可由 Web 服务调用的公开 API,那就更好了!

提前致谢!

澄清:我们需要在逻辑上分开盒子。这不仅仅是集群/故障转移/复制场景。

进一步说明:我们是 WCF 之家。我们的网格上已经有一个自定义路由器和检查器。然而,我们需要在前端进行分发,这是 HA Proxy 目前在我们架构中的位置。然而,我们需要一些我们不必编写然后测试的东西,因为我们即将发布一个版本并且没有人有周期来测试 HA 代理级别的东西。

候选解决方案:我以前不知道使用 URLRewrite 模块的 IIS7+ 应用程序请求路由 (ARR)。我不熟悉任何人可以谈论 ARR 的性能和稳定性,也许 Stacker 可以帮助我?

最佳答案

几个月来我一直在使用应用程序请求路由,尽管此时更多的是用于反向代理而不是负载平衡或服务器场管理。

当您开始使用 100% Microsoft 堆栈时,这当然很方便。

我还不能谈论性能,至少不能从广义上讲。将其用作代理不会对用户造成明显的性能影响,但它确实偶尔会引入 502,显然是在内容服务器响应时间比 ARR Controller 配置的超时时间长时。

ARR 似乎具有相当大的可扩展性,可以与自定义关联提供程序集成,与 Citrix 或 F5 等第三方设备集成,但我还没有完全探索这一点。

我没有看到“确定的”,没有“常规的”稳定性问题,但是 IIS 出现了一些可能与 ARR 相关的问题。无法解释的错误会随着应用程序池回收或服务器重启而消失。

遇到的小问题都没有阻止投入生产。所遇到的小问题都没有成为客户的阻碍。

关于.net - Windows/.NET 负载分配和平衡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2783932/

相关文章:

.net - 从数据库中读取大字符串而不分割大对象堆

asp.net - 从网站自己的网页重新启动网站

c# - UserManager.Create : An exception of type 'System.MissingMethodException' occurred in mscorlib. dll 但未在用户代码中处理

linux - Perl 模块在 Linux 和 Win32 下运行

.net - 获取 msbuild 以远程部署干净的应用程序

c# - 如何在 WebApi 请求中获取 Controller 名称?

.net - Regex - 适用于每个 Regextester,但不适用于我的 vb.net 应用程序

javascript - 如何从后面的代码中分配 $(document).ready 中的值

c# - 文件夹重命名后的文件存在检查在 UNC 共享上返回不正确的值

mysql - 如何在cmd Windows中运行Mysql 5.7