【问题标题】:Windows/.NET Load Distribution & BalancingWindows/.NET 负载分配和平衡
【发布时间】:2010-05-06 19:42:24
【问题描述】:

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

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

提前致谢!

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

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

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

【问题讨论】:

    标签: .net asp.net windows load-balancing


    【解决方案1】:

    我已经使用 Application Request Routing 几个月了,虽然此时更多的是用于反向代理而不是负载平衡或场管理。

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

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

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

    我没有看到任何“确定的”、“常规的”稳定性问题,但有一些可能与 ARR 相关的 IIS 不稳定问题。随着应用程序池回收或服务器重启,莫名其妙的错误就会消失。

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

    【讨论】:

      【解决方案2】:

      在 .NET 4.0 中,我们获得了 WCF 路由服务,它看起来是我们开箱即用的基于软件的代理,它可能用于分配负载。它可以进行基于内容的路由、协议中介(tcp/ip->http 或 https->http),并且可能以某种方式进行扩展。

      一些入门资源:

      您可以随时使用 Bustamante 的这些文章开始自己制作:

      HTH,

      Z

      【讨论】:

      • 对不起,但离我要找的还很远。我们是一家 WCF 公司——我们拥有 SaaS/网格技术,具有智能(自定义)路由、自定义检查器、发现和平衡。然而,我们需要在前端进行分发,而且我们没有时间实现像 HA 代理这样强大的东西,这就是为什么我们正在寻找 OOTB Win 替代方案,而不是编写我们自己的解决方案。
      • 另外,作为产品供应商,我们还不能跳上 4.0,现在还没有客户,正在过渡到 3.5。
      • 不用担心! :) 并没有从原始帖子中得到所有这些。我在想你仍然可以让软件代理(路由服务)坐在你的服务层(就像硬件)前面来分配负载。在这种能力下,它可以“独立”,实际上不会在调用链中的其他任何地方引入依赖关系。
      • 同样感谢您的输入!随便写一个解决方案看起来/感觉像是一个“简单”的问题,但是当您站在 HA 代理旁边时,它是高可用性架构的关键部分,我保证无论“嘿,它做到了! "如果没有额外的大量时间投资,我所做的第一次刷卡工作不会“做得足够好”。规则/算法实现或规则引擎实现之类的东西保证会吃掉我……
      猜你喜欢
      • 2011-02-21
      • 2018-02-17
      • 2012-04-25
      • 2011-04-21
      • 1970-01-01
      • 1970-01-01
      • 2012-02-04
      • 2017-09-21
      • 2014-04-18
      相关资源
      最近更新 更多