我们有一个biztalk服务器,可以频繁调用我们也托管的Web服务。
Web服务托管在4台服务器上,DNS负载均衡器位于它们之间。理论上说,每次对服务的调用都将循环服务器并平衡负载。
然而,这可能无法正常工作,因为DNS查找的结果会在客户端上缓存一小段时间。结果是,在进入下一个服务器之前,我们会向每个服务器发出大量请求。
这种推定是否正确,这里的替代选择是什么?
更多谷歌搜索建议我可以禁用DNS的客户端缓存:http://support.microsoft.com/kb/318803
...但是这表明默认缓存时间是1天,这与我的经历不一致
答案 0 :(得分:4)
您需要在Windows上使用NLB群集或在Linux(或其他等效软件)上使用LVS来降低负载平衡。如果您让客户端访问Web服务保持HTTP连接打开的时间超过单个请求/响应,您仍然可能无法获得所需的负载平衡粒度,因此如果是这种情况,您可能必须重新配置应用程序服务器
答案 1 :(得分:1)
我们最终决定采用的解决方案是应用程序请求路由,它是一个IIS扩展。在测试中,这显示了我们想要做的事情,并且与硬件负载平衡器相比,我们(作为开发人员)更容易启动和运行。