首先,我不是系统管理员,而是程序员。
最近,我们的系统管理员安装了F5负载平衡器。从那时起,我注意到,每当一个请求超时并最终抛出500时,负载均衡器都会向我们的其他服务器发送相同的请求。即使脚本实际上仍在运行,IIS也会发送超时响应。如果脚本运行超过5分钟,则即使POST请求也会重复。对我来说,这似乎是一个潜在的问题,尤其是在涉及客户计费的电子商务网站上。
这只是我们一些运行时间更长的脚本的问题(但这是一个严重的问题)。有人告诉我这是预期的行为,我们必须更改代码以使其符合要求。所以我的问题是:
- 这是预期的行为吗?
- 负载均衡器在超时后复制了请求,而不是让用户不必刷新,这有什么好处?
- 使用这种体系结构,如果运行了使服务器瘫痪或占用资源的脚本,则该脚本最终将在两个服务器上运行。那真的是最佳选择吗?
当您说“向同一台服务器发送相同的请求”时,是指配置的运行状况检查还是用户请求?我的感觉不是,但是值得澄清。答案将更改答案和/或任何建议。
—
mcauth
@mcauth它重新发送用户请求。基本上,如果用户执行任何提示500错误的操作,则负载均衡器会将相同的确切请求发送到另一台服务器,从而从单个HTTP请求创建两个响应。
—
Jim D
我进入Big-IP轨道已经有很长时间了,除非明确要求这样做,否则我从来不知道它会重播请求,例如,通过iRule执行HTTP :: collect来缓冲请求有效负载。很奇怪。没有看到正在运行的配置,这很难说。
—
mcauth 2013年
只是稍微碰一下这个线程,就可以让您知道我遇到了同样的问题。您是否有进一步解决方案?
—
BitMask777 2014年
@ BitMask777-不幸的是,我们从来没有真正做到这一点。这仍然是负载平衡器的行为,我们一直在“应对”。
—
Jim D