Windows NLB运行良好,并在计算机耗尽时从群集中删除计算机。
但是如果应用程序死了但服务器仍能正常工作会发生什么?你是怎么解决这个问题的?
由于
答案 0 :(得分:1)
不使用NLB。
硬件负载平衡器通常具有可配置的“探测”功能,以确定服务器是否正在响应请求。这可以通过访问真实的应用程序端口/ URL,或仅在应用程序运行正常时返回的某些特定“健康检查”URL。
其他选项可以查看响应请求所需的队列/时间
思科这样说:
Cisco CSM持续监控服务器和应用程序的可用性 使用各种探头,带内 健康监测,返回代码 检查和动态反馈 协议(DFP)。当真正的服务器或 发生网关故障,Cisco CSM 将流量重定向到其他流量 地点。添加服务器和 删除没有中断 服务系统很容易扩大规模 或者下来。
答案 1 :(得分:0)
据推测,使用Windows NLB,有一些方法可以通过编程方式设置节点的权重吗?节点应该自我监控,如果存在某些问题(例如特定节点的磁盘空间不足),请将其权重设置为零,以便不再接收流量。
但是,这需要仔细设计并进行进一步的人工监控,以确保您不会遇到一个故障导致整个群集自行宣布的情况。
你真的不希望在网络负载平衡中处理“拜占庭式”的情况;一个适当破碎的节点可能认为它很好,看起来很好,但完全无法做任何实际的工作。诀窍是尽量减少这些情况在生产中发生的可能性。
答案 2 :(得分:0)
网络应用程序有多种级别的运行状况检查。
我对NLB的经验可能不完整,但我会描述我所知道的。 NLB可以做1和2.使用自定义编码,您可以添加其他级别,具有不同的难度。对于某些网络架构,这可能非常困难。
Cisco或F5等供应商的大多数硬件负载平衡器都可轻松配置为3或4. 5级测试仍需要自定义编码。
答案 3 :(得分:0)
我们从所有节点都是集群的一部分但不活动的情况开始。 我们运行一个自定义服务监视器,它通过外部接口在本地发出请求。如果响应成功,我们启动节点(允许它开始处理NLB流量)。如果响应失败,我们会阻止节点接收流量。
Darron描述的所有中间步骤都是无关紧要的。它是否有效是我们唯一关心的事情。如果机器无法访问,则NLB群集的其余部分会将其视为失败。