Http 针对单个客户端的循环负载平衡选项

Http 针对单个客户端的循环负载平衡选项,http,iis,biztalk,load-balancing,Http,Iis,Biztalk,Load Balancing,我们有一个biztalk server,它经常调用我们也托管的web服务 web服务托管在4台服务器上,它们之间有一个DNS负载平衡器。理论上,对服务的每个后续调用都将循环使用服务器并平衡负载 但是,这可能不起作用,因为DNS查找的结果在客户端上缓存了一小段时间。结果是,在每台服务器转到下一台之前,我们会收到大量的请求 这一假设正确吗?这里有哪些备选方案 更多的谷歌搜索建议我可以禁用DNS的客户端缓存: …但是,这表明默认缓存时间为1天,这与我的经验不一致您需要在较低级别上使用Windows上的

我们有一个biztalk server,它经常调用我们也托管的web服务

web服务托管在4台服务器上,它们之间有一个DNS负载平衡器。理论上,对服务的每个后续调用都将循环使用服务器并平衡负载

但是,这可能不起作用,因为DNS查找的结果在客户端上缓存了一小段时间。结果是,在每台服务器转到下一台之前,我们会收到大量的请求

这一假设正确吗?这里有哪些备选方案

更多的谷歌搜索建议我可以禁用DNS的客户端缓存:


…但是,这表明默认缓存时间为1天,这与我的经验不一致

您需要在较低级别上使用Windows上的NLB群集或Linux上的LVS(或其他等效软件)实现负载平衡。如果您让web服务的客户端保持HTTP连接的开放时间超过单个请求/响应的开放时间,您可能仍然无法获得所需的负载平衡粒度,因此如果是这种情况,您可能必须重新配置应用程序服务器。

您需要在启用NLB群集的情况下在较低级别上实现负载平衡Linux上的Windows或LVS(或其他等效软件)。如果您让web服务的客户端保持HTTP连接的开放时间超过单个请求/响应的开放时间,那么您可能仍然无法获得所需的负载平衡粒度,因此如果是这样,您可能必须重新配置应用程序服务器。

我们最终决定采用的解决方案是应用程序请求路由,它是IIS扩展。在测试中,这表明它可以做我们想要做的事情,并且对于我们(作为开发人员)来说,与硬件负载平衡器相比,它更容易启动和运行


我们最终决定采用的解决方案是应用程序请求路由,它是一个IIS扩展。在测试中,这表明它可以做我们想要做的事情,并且对于我们(作为开发人员)来说,与硬件负载平衡器相比,它更容易启动和运行


谢谢你的回答。一个客户端几乎可以立即得到响应。我不确定让客户端保持连接打开是什么意思?HTTP 1.1允许客户端和服务器在连接头字段中交换关键字keep alive,以表示他们希望保持TCP连接打开以进行其他请求/响应事务。如果要负载平衡单个客户端的频繁请求,您需要在服务器上禁用此功能,强制客户端为每个请求启动新的TCP连接。谢谢您的回答。一个客户端几乎可以立即得到响应。我不确定让客户端保持连接打开是什么意思?HTTP 1.1允许客户端和服务器在连接头字段中交换关键字keep alive,以表示他们希望保持TCP连接打开以进行其他请求/响应事务。如果要负载平衡来自单个客户端的频繁请求,您需要在服务器上禁用此功能,强制客户端为每个请求启动新的TCP连接。NLBS是Windows服务器的自由软件解决方案-您的服务器群集将获得新的IP地址。它还具有可用性优势,例如,在将新版本部署到服务器时,尽管NLBS不按服务级别监控服务器可用性(如果可以ping,则服务器保留在群集中),但NLBS是Windows服务器的免费软件解决方案-您的服务器群集中会获得一个新的IP地址。它还具有可用性优势,例如,在将新版本部署到服务器时,尽管NLBS不按服务级别监控服务器可用性(如果可以ping,服务器将留在集群中)