0

Windows NLB 工作得很好,当计算机死机时,它会从群集中删除计算机。

但是,如果应用程序死了,但服务器仍然可以正常工作,会发生什么?你是如何解决这个问题的?

谢谢

4

4 回答 4

1

通过不使用 NLB。

硬件负载平衡器通常具有可配置的“探测”功能,以确定服务器是否响应请求。这可以通过访问真正的应用程序端口/URL,或某些特定的“健康检查”URL,只有在应用程序健康时才返回。

这些上的其他选项查看响应请求所花费的队列/时间

思科是这样说的:

Cisco CSM 使用各种探测、带内健康监控、返回代码检查和动态反馈协议 (DFP) 持续监控服务器和应用程序的可用性。当真正的服务器或网关发生故障时,Cisco CSM 会将流量重定向到不同的位置。在不中断服务的情况下添加和删除服务器——系统可以轻松扩展或缩减。

(从这里:http ://www.cisco.com/en/US/products/hw/modules/ps2706/products_data_sheet09186a00800887f3.html#wp1002630 )

于 2008-11-14T17:51:39.537 回答
0

网络应用程序有多个级别的健康检查。

  1. 服务器机器起来了吗?
    • 应用程序(服务)是否正在运行?
    • 该服务是否接受网络连接?
    • 服务是否对“您还好”请求做出适当响应?
    • 该服务是否执行实际工作?(这还将检查您正在探测的服务背后的后端系统)

我在 NLB 方面的经验可能不完整,但我会描述一下我所知道的。NLB 可以做 1 和 2。使用自定义编码,您可以添加不同难度的其他级别。对于某些网络架构,这可能非常困难。

来自 Cisco 或 F5 等供应商的大多数硬件负载均衡器都可以轻松配置为执行 3 或 4。5 级测试仍然需要自定义编码。

于 2008-12-06T13:35:38.873 回答
0

大概使用 Windows NLB 有一些方法可以以编程方式设置节点的权重?节点应该自我监控,如果出现问题(例如,特定节点的磁盘空间不足),将其权重设置为零,这样它就不会接收更多流量。

但是,这需要仔细设计并进行进一步的人工监控,以确保您最终不会遇到一个故障导致整个集群宣布自己关闭的情况。

您不能真正希望处理网络负载平衡中的“拜占庭将军”情况;一个适当损坏的节点可能认为它很好,看起来很好,但完全无法做任何实际工作。诀窍是尽量减少这些情况在生产中发生的可能性。

于 2008-12-06T11:41:40.430 回答
0

我们从所有节点都是集群的一部分但不活动的情况开始。我们运行一个自定义服务监视器,它通过外部接口在本地对服务发出请求。如果响应成功,我们启动节点(允许它开始处理 NLB 流量)。如果响应失败,我们将停止节点接收流量。

Darron 描述的所有中间步骤都是无关紧要的。它是否有效是我们唯一关心的事情。如果机器不可访问,则 NLB 集群的其余部分会将其视为失败。

于 2012-05-03T13:30:52.810 回答